|
[Client side codes]
@Html.EJS().Grid("Grid").DataSource(dataManager => { dataManager.Url("/Home/UrlDatasource").Adaptor("UrlAdaptor"); })
.AllowFiltering(true).AllowPaging(true).Width("auto")
.Columns(col =>
{
...
}).Render()
[Server side codes]
public ActionResult UrlDatasource(Data dm)
{
var order = OrdersDetails.GetAllRecords();
var Data = order.ToList();
int count = order.Count();
if (dm.where != null && dm.where.Count > 0 && dm.where[0].predicates != null)
{
//Codes to Perform Filtering
for (var i = 0; i < dm.where[0].predicates.Count; i++)
{
switch (dm.where[0].predicates[i].field)
{
case "OrderID":
Data = (from cust in Data
select cust).ToList();
break;
...
}
count = Data.Count;
}
}
return dm.requiresCounts ? Json(new { result = Data.Skip(dm.skip).Take(dm.take), count = count }) : Json(Data);
}
public class Data
{
...
public List<Wheres> where { get; set; }
}
public class Wheres
{
public List<Predicates> predicates { get; set; }
...
}
public class Predicates
{
...
}
|
|
@{
List<object> filterColumns = new List<object>();
filterColumns.Add(new { field = "CustomerID", matchCase = false, @operator = "equal", predicate = "and", value = "ALFKI" });
}
@Html.EJS().Grid("Grid")
.Columns(col =>
{
...
}).FilterSettings(f => f.Columns(filterColumns)).Render() |
|
//Here we have filtered value based on CustomerID column
@Html.EJS().Grid("Grid").DataSource(...).Query("new ej.data.Query().where('CustomerID','equal', 'ALFKI')").AllowFiltering(true)
.Columns(col =>
{
...
}).Render()
|