|
@(Html.EJ().Grid<object>("MultiSort")
.Datasource(ds => ds.URL("/Grid/DataSource").Adaptor(AdaptorType.UrlAdaptor))
.AllowFiltering()
.AllowSorting()
.AllowPaging()
.PageSettings(page => page.PageSize(1))
.AllowResizeToFit()
.IsResponsive()
)
-------------------------------------------
public ActionResult GridFeatures()
{
var dt = new DataTable();
dt.Columns.Add("Id");
dt.Columns.Add("Name");
dt.Columns.Add("Age");
DataRow row1 = dt.NewRow();
row1["Id"] = 1;
row1["Name"] = "Catalin";
row1["Age"] = 10;
DataRow row2 = dt.NewRow();
row2["Id"] = 2;
row2["Name"] = "Dero";
row2["Age"] = 15;
dt.Rows.Add(row1);
dt.Rows.Add(row2);
HttpContext.Session["Table"] = dt;
return View();
}
public ActionResult DataSource(DataManager dm)
{
var DataSource = (DataTable)HttpContext.Session["Table"];
IEnumerable Data = Syncfusion.JavaScript.Utils.DataTableToJson(DataSource);
Syncfusion.JavaScript.DataSources.DataOperations operation = new Syncfusion.JavaScript.DataSources.DataOperations();
----------------------------
int count = Data.AsQueryable().Count();
if (dm.Skip != 0)
{
Data = operation.PerformSkip(Data, dm.Skip);
}
if (dm.Take != 0)
{
Data = operation.PerformTake(Data, dm.Take);
}
return Json(new { result = Data, count = count }, JsonRequestBehavior.AllowGet);
} |