@Html.EJS().Grid("DefaultPaging").DataSource(ds => ds.Url("/Home/UrlDatasource").Adaptor("UrlAdaptor").InsertUrl("/Home/Insert").RemoveUrl("/Home/Remove").UpdateUrl("/Home/Update")).Columns(col =>
{
col.Field("OrderID").HeaderText("Order ID").Width("120").IsPrimaryKey(true).ValidationRules(new { required = true }).TextAlign(Syncfusion.EJ2.Grids.TextAlign.Right).Add();
col.Field("CustomerID").HeaderText("Customer Name").Width("170").Add();
col.Field("Id").HeaderText("Customer ID").DataSource((IEnumerable<object>)ViewBag.Species).ForeignKeyField("Id").ForeignKeyValue("name").ValidationRules(new { required = true }).Width("170").Add();
col.Field("OrderDate").HeaderText("Order Date").Width("130").EditType("datepickeredit").Format("yMd").TextAlign(Syncfusion.EJ2.Grids.TextAlign.Right).Add();
col.Field("Freight").HeaderText("Freight").Width("120").Format("C2").TextAlign(Syncfusion.EJ2.Grids.TextAlign.Right).Add();
col.Field("ShipCountry").EditType("dropdownedit").HeaderText("Ship Country").ValidationRules(new { required = true }).Width("150").Add();
}).Height("400").AllowPaging().Toolbar(new List<string>
() { "Add", "Edit", "Delete", "Update", "Cancel" }).AllowFiltering().FilterSettings(filter => filter.Columns(filterColumns).Type(Syncfusion.EJ2.Grids.FilterType.Excel)).EditSettings(edit => { edit.AllowEditing(true).AllowAdding(true).AllowDeleting(true).Mode(Syncfusion.EJ2.Grids.EditMode.Dialog); }).Render()
|
@{
List<object> filterColumns = new List<object>();
filterColumns.Add(new { field = "CustomerID", matchCase = false, @operator = "equal", predicate = "or", value = "ANATR" });
filterColumns.Add(new { field = "ShipCountry", matchCase = false, @operator = "equal", predicate = "or", value = "Austria" });
}
<div class="control-section">
@Html.EJS().Grid("DefaultPaging").Load("load"). . . . . .
AllowFiltering().FilterSettings(filter => filter.Columns(filterColumns).Type(Syncfusion.EJ2.Grids.FilterType.Excel)).EditSettings(edit => { edit.AllowEditing(true).AllowAdding(true).AllowDeleting(true).Mode(Syncfusion.EJ2.Grids.EditMode.Dialog); }).Render()
</div>
<script>
function load() {
this.getDataModule().filterQuery = filterFunction;
}
function filterFunction(query, column, skipFoerign) {
. . . . . . .
if (predicateList.length) {
query.where(ej.data.Predicate.or(predicateList));
}
else {
this.parent.notify(events.showEmptyGrid, {});
}
}
return query;
}
</script> |