using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Syncfusion.Blazor;
using Syncfusion.Blazor.Data;
namespace BlazorApp.Data
{
public class DaliyReportDataAdaptor : DataAdaptor
{
private DaliyReportDataAccessLayer _dataLayer;
public DaliyReportDataAdaptor(DaliyReportDataAccessLayer DaliyReportDataAccessLayer)
{
_dataLayer = DaliyReportDataAccessLayer;
}
public override async Task<object> ReadAsync(DataManagerRequest dataManagerRequest, string key = null)
{
List<DaliyReport> bugs = await _dataLayer.GetDaliyReportAsync();
int count = await _dataLayer.GetDaliyReportCountAsync();
return dataManagerRequest.RequiresCounts ? new DataResult() { Result = bugs, Count = count } : count;
}
public override async Task<object> InsertAsync(DataManager dataManager, object data, string key)
{
await _dataLayer.AddDaliyReportAsync(data as DaliyReport);
return data;
}
public override async Task<object> UpdateAsync(DataManager dataManager, object data, string keyField, string key)
{
await _dataLayer.UpdateDaliyReportAsync(data as DaliyReport);
return data;
}
public override async Task<object> RemoveAsync(DataManager dataManager, object primaryKeyValue, string keyField, string key)
{
await _dataLayer.RemoveDaliyReportAsync(Convert.ToInt32(primaryKeyValue));
return primaryKeyValue;
}
// Performs data Read operation
}
}
Hello, Rahul :
Study this code:
https://blazor.syncfusion.com/documentation/datagrid/custom-binding/#custom-binding
I am study your public sample code,you reply add this code can active,
but don't have group tool and Where SQL funsion how to use?
Question1 can you use this code page teach me who can i add group tools in this sample code?
Question2
who can i add "where" funsion in code
public override async Task<object> ReadAsync(DataManagerRequest dm, string key = null)
{
IEnumerable<Bug> bugs = await _dataLayer.GetBugsAsync();
DataResult DataObject = new DataResult();
if (dm.Search != null && dm.Search.Count > 0)
{
// Searching
bugs = DataOperations.PerformSearching(bugs, dm.Search);
}
if (dm.Sorted != null && dm.Sorted.Count > 0)
{
// Sorting
bugs = DataOperations.PerformSorting(bugs, dm.Sorted);
}
if (dm.Where != null && dm.Where.Count > 0)
{
// Filtering
bugs = DataOperations.PerformFiltering(bugs, dm.Where, dm.Where[0].Operator);
}
int count = bugs.Cast<Bug>().Count();
if (dm.Skip != 0)
{
//Paging
bugs = DataOperations.PerformSkip(bugs, dm.Skip);
}
if (dm.Take != 0)
{
bugs = DataOperations.PerformTake(bugs, dm.Take);
}
if (dm.Group != null)
{
IEnumerable ResultData = bugs.ToList();
// Grouping
foreach (var group in dm.Group)
{
ResultData = DataUtil.Group<Bug>(ResultData, group, dm.Aggregates, 0, dm.GroupByFormatter);
}
DataObject.Result = ResultData;
DataObject.Count = count;
return dm.RequiresCounts ? DataObject : (object)ResultData;
}
return dm.RequiresCounts ? new DataResult() { Result = bugs, Count = count } : count;
} |