[Controller] List<Roles> emp = new List<Roles>();
List<Orders> Ord = new List<Orders>();
public ActionResult Index()
{
BindDataSource();
ViewBag.dataSource = Ord;
ViewBag.dropData = emp;
return View();
}
private void BindDataSource()
{
//Column DataSource
emp.Add(new Roles(1, "Tester"));
emp.Add(new Roles(2, "Engineer"));
----
int code = 10000;
for (int i = 1; i <= 9; i++)
{
string str = i.ToString() + "," + (i + 1).ToString();
//Main dataSource for Grid
Ord.Add(new Orders(code + 1, "ALFKI", i, 2.3 * i, new DateTime(1991, 05, 15), "Berlin" + i, str));
code += 5;
} |
@(Html.EJ().Grid<object>("Grid").Datasource((IEnumerable<object>)ViewBag.dataSource)
.AllowPaging().EditSettings(edit => { edit.AllowAdding().AllowDeleting().AllowEditing(); })
.ClientSideEvents(eve =>
{
eve.QueryCellInfo("queryCellInfo");
})
.Columns(col =>
{
col.Field("OrderID").HeaderText("Order ID").IsPrimaryKey(true).Add();
col.Field("CustomerID").HeaderText("Customer ID").Add();
col.Field("EmployeeID").HeaderText("Employee ID").Add();
col.Field("RoleID")
.EditTemplate(a =>
{
a.Create("create").Read("read").Write("write");
})
.DataSource(ViewBag.dropData).HeaderText("Roles").Add();
}))
<script>
function create() {
return "<input>";
}
function read(args) {
var data = args.ejDropDownList("getSelectedValue");
if (!data)
return {};
return data;
}
function write(args) {
var val = ej.isNullOrUndefined(args.rowdata["RoleID"]) ? "" : args.rowdata["RoleID"];
var datas = ej.DataManager(args.column[3].dataSource)
.executeLocal(new ej.Query().where("RoleID", "equal", val));
args.element.ejDropDownList({
dataSource: args.column[3].dataSource,
fields: { text: "Role", value: "RoleID" },
showCheckbox: true,
width: "100%",
value: val
});
}
function queryCellInfo(args) {
if (args.column.field == "RoleID") {
var field = args.column.field, merge = false; preds = [];
var txt = args.data.RoleID.split(",");
var predicate = new ej.Predicate(field, "equal", ej.parseInt(txt[0]));
for (var tx = 1; tx < txt.length; tx++) {
preds.push(new ej.Predicate(field, "equal", txt[tx]));
merge = true;
}
if (merge) {
preds.unshift(predicate);
predicate = ej.Predicate.or(preds);
}
var datas = ej.DataManager(args.column.dataSource).executeLocal(new ej.Query().where(predicate));
var str = "";
for (var s = 0; s < datas.length; s++) {
str = s == 0 ? str.concat(datas[s].Role) : str.concat("," + datas[s].Role)
}
$(args.cell).text(str);
}
}
</script> |