Index.cshtml
@Html.EJS().Grid("SelectionAPI").DataSource((IEnumerable<object>)ViewBag.datasource).AllowSelection().Columns(col =>
{
col.Field("OrderID").HeaderText("Order ID").IsPrimaryKey(true).Width("120").TextAlign(Syncfusion.EJ2.Grids.TextAlign.Right).Add();
col.Field("CustomerID").HeaderText("Customer Name").Width("150").Add();
col.Field("Freight").HeaderText("Freight").Width("120").Format("C2").TextAlign(Syncfusion.EJ2.Grids.TextAlign.Right).Add();
col.Field("CountryCode").HeaderText("Code").Edit(new { create = "create", read = "read", destroy = "destroy", write = "write" }).Width("300").Add();
}).AllowPaging().EditSettings(edit => { edit.AllowAdding(true).AllowEditing(true).AllowDeleting(true).Mode(Syncfusion.EJ2.Grids.EditMode.Dialog); }).Toolbar(new List<string>() { "Add", "Edit", "Delete", "Update", "Cancel" }).Render()
<script>
var elem;
var multiselect;
var arr = [];
var datas = [{ country: "Germany", ID: 1 },
{ country: "England", ID: 5 },
{ country: "Canada", ID: 7 },
{ country: "Brazil", ID: 8}];
function create() {
elem = document.createElement('input');
return elem;
}
function destroy() {
multiselect.destroy();
}
function read() {
return multiselect.value.join(',');
}
function write(args) {
arr = args.rowData["CountryCode"].split(",");
multiselect = new ej.dropdowns.MultiSelect({
dataSource: datas,
fields: { text: 'country', value: 'ID' },
value: Array.isArray(args.rowData.CountryCode) ? args.rowData.CountryCode : arr
});
multiselect.appendTo(elem);
}
</script> |
function destroy() {
multiselect.destroy();
}
function read() {
return multiselect.value.join(',');
}
function write(args) {
arr = args.rowData["CountryCode"].split(",");
multiselect = new ej.dropdowns.MultiSelect({
dataSource: datas,
fields: { text: 'country', value: 'ID' },
value: Array.isArray(args.rowData.CountryCode) ? args.rowData.CountryCode : arr
});
multiselect.appendTo(elem);
}
|