<SfGrid TValue="Order" AllowPaging="true" AllowGrouping="true"> <SfDataManager Url="/api/values" Adaptor="Adaptors.UrlAdaptor"></SfDataManager> <GridEvents TValue="Order" OnActionFailure="@ActionFailure"></GridEvents> <GridPageSettings PageSize="100"></GridPageSettings> <GridColumns> <GridColumn Field=@nameof(Order.OrderID) HeaderText="Order ID" TextAlign="TextAlign.Right" Width="120"></GridColumn> <GridColumn Field=@nameof(Order.CustomerID) HeaderText="Customer Name" Width="150"></GridColumn> <GridColumn Field=@nameof(Order.OrderDate) HeaderText=" Order Date" Format="d" Type="ColumnType.Date" TextAlign="TextAlign.Right" Width="130"></GridColumn> <GridColumn Field=@nameof(Order.Freight) HeaderText="Freight" Format="C2" TextAlign="TextAlign.Right" Width="120"></GridColumn> </GridColumns> </SfGrid>
// POST api/<ValuesController> [HttpPost] public object Post([FromBody] DataManagerRequest dm) { IEnumerable<Order> DataSource = BlazorAppServer1.Data.TestData.GetData(); DataResult DataObject = new DataResult(); if (dm.Search != null && dm.Search.Count > 0) { // Searching DataSource = DataOperations.PerformSearching(DataSource, dm.Search); } if (dm.Sorted != null && dm.Sorted.Count > 0) { // Sorting DataSource = DataOperations.PerformSorting(DataSource, dm.Sorted); } if (dm.Where != null && dm.Where.Count > 0) { // Filtering DataSource = DataOperations.PerformFiltering(DataSource, dm.Where, dm.Where[0].Operator); } int count = DataSource.Cast<Order>().Count(); if (dm.Skip != 0) { //Paging DataSource = DataOperations.PerformSkip(DataSource, dm.Skip); } if (dm.Take != 0) { DataSource = DataOperations.PerformTake(DataSource, dm.Take); } if (dm.Group != null) { IEnumerable ResultData = Enumerable.Empty<Order>(); foreach (var group in dm.Group) { ResultData = DataUtil.Group<Order>(DataSource, group, dm.Aggregates, 0, dm.GroupByFormatter); } DataObject.Result = ResultData; DataObject.Count = count; return dm.RequiresCounts ? DataObject : (object)DataSource; } return dm.RequiresCounts ? new Syncfusion.Blazor.Data.DataResult() { Result = DataSource, Count = count } : (object)DataSource; }
services.AddControllers().AddNewtonsoftJson(options => { options.SerializerSettings.ContractResolver = new DefaultContractResolver(); });
|
public object Post([FromBody]DataManagerRequest dm)
{
. . . .. . .
//if (dm.Group != null)
//{
// IEnumerable ResultData = Enumerable.Empty<Orders>();
// foreach (var group in dm.Group)
// {
// ResultData = DataUtil.Group<Orders>(DataSource, group, dm.Aggregates, 0, dm.GroupByFormatter);
// }
// DataObject.Result = ResultData;
// DataObject.Count = count;
// return dm.RequiresCounts ? DataObject : (object)DataSource;
//}
. . . . .
}
|