|
<div>
<ejs-grid id="Grid" allowPaging="true">
<e-data-manager url="/api/Orders/" adaptor="WebApiAdaptor" crossdomain="true"></e-data-manager>
<e-grid-columns>
<e-grid-column field="OrderID" headerText="Order ID" textAlign="Right" width="120"></e-grid-column>
<e-grid-column field="ShipCity" headerText="Ship City" width="170"></e-grid-column>
</e-grid-columns>
</ejs-grid>
</div> |
|
[HttpGet]
public object Get()
{
var queryString = Request.Query;
int skip = Convert.ToInt32(queryString["$skip"]); // paging
int take = Convert.ToInt32(queryString["$top"]);
var data = OrdersDetails.GetAllRecords().ToList();
return take != 0 ? new { Items = data.Skip(skip).Take(take).ToList(), Count = data.Count() } : new { Items = data, Count = data.Count() };
} |
|
<div>
<ejs-grid id="Grid" query="new ej.data.Query().addParams('ej2grid', 'true')" allowPaging ="true" allowFiltering="true" allowSorting="true">
<e-data-manager url="/Home/UrlDatasource" adaptor="UrlAdaptor"></e-data-manager>
<e-grid-columns>
<e-grid-column field="OrderID" headerText="Order ID" isPrimaryKey="true"textAlign="Right" width="120"></e-grid-column>
<e-grid-column field="CustomerID" headerText="Customer Name"></e-grid-column>
</e-grid-columns>
</ejs-grid>
</div> |
|
public IActionResult UrlDatasource([FromBody]DataManagerRequest dm)
{
IEnumerable DataSource = OrdersDetails.GetAllRecords();
DataOperations operation = new DataOperations();
if (dm.Search != null && dm.Search.Count > 0)
{
DataSource = operation.PerformSearching(DataSource, dm.Search); //Search
}
int count = 0;
if (dm.Sorted != null && dm.Sorted.Count > 0) //Sorting
{
DataSource = operation.PerformSorting(DataSource, dm.Sorted);
}
if (dm.Where != null && dm.Where.Count > 0) //Filtering
{
DataSource = operation.PerformFiltering(DataSource, dm.Where, dm.Where[0].Operator);
}
else
{
count = DataSource.Cast<OrdersDetails>().Count();
}
if (dm.Skip != 0)
{
DataSource = operation.PerformSkip(DataSource, dm.Skip); //Paging
}
if (dm.Take != 0)
{
DataSource = operation.PerformTake(DataSource, dm.Take);
}
return dm.RequiresCounts ? Json(new { result = DataSource, count = count }) : Json(DataSource);
} |
|
<div>
<ejs-grid id="Grid" allowPaging="true" allowFiltering="true">
<e-data-manager url="/api/Orders/" adaptor="WebApiAdaptor" crossdomain="true"></e-data-manager>
<e-grid-columns>
<e-grid-column field="OrderID" headerText="Order ID width="120"></e-grid-column>
<e-grid-column field="ShipCountry" headerText="Ship Country" width="150"></e-grid-column>
</e-grid-columns>
</ejs-grid>
</div> |
|
[HttpGet]
public object Get()
{
var queryString = Request.Query;
int skip = Convert.ToInt32(queryString["$skip"]);
int take = Convert.ToInt32(queryString["$top"]);
string filter = queryString["$filter"];
if (filter != null)
{
var newfiltersplits = filter;
var filtersplits = newfiltersplits.Split('(', ')', ' ');
var filterfield = filtersplits[1];
var filtervalue = filtersplits[3];
switch (filterfield)
{
case "OrderID":
Datae = (from cust in data
where cust.OrderID.ToString() == filtervalue.ToString()
select cust).ToList();
break;
}
data = Datae;
}
return take != 0 ? new { Items = data.Skip(skip).Take(take).ToList(), Count = data.Count() } : new { Items = data, Count = data.Count() };
} |
|
<div>
<ejs-grid id="Grid" query="new ej.data.Query().addParams('ej2grid', 'true')" allowPaging="true" allowFiltering="true" allowSorting="true">
<e-data-manager url="/Home/UrlDatasource" adaptor="UrlAdaptor"></e-data-manager>
<e-grid-columns>
<e-grid-column field="OrderID" headerText="Order ID"isPrimaryKey="true"textAlign="Right" width="120"></e-grid-column>
<e-grid-column field="CustomerID" headerText="Customer Name"></e-grid-column>
</e-grid-columns>
</ejs-grid>
</div>
|
|
public IActionResult UrlDatasource([FromBody]Data dm)
{
var val = OrdersDetails.GetAllRecords();
var Data = val.ToList();
if (dm.skip != 0)
Data = Data.Skip(dm.skip).ToList();
if (dm.take != 0)
Data = Data.Take(dm.take).ToList();
int count = Data.Count();
return Json(new { result = Data, count = count });
} |