@using Syncfusion.Blazor.Lists
@using Syncfusion.Blazor.Data
@using Syncfusion.Blazor.Navigations
@using Syncfusion.Blazor
<SfListView TValue="VehicleData" Query="@DataQuery">
<ListViewFieldSettings TValue="VehicleData" Text="Text" Id="Id" />
<SfDataManager @ref="DataManagerRef" AdaptorInstance="@typeof(CustomAdaptor)"
Adaptor="Adaptors.CustomAdaptor">
</SfDataManager>
</SfListView>
<SfPager PageSize="3" TotalItemsCount="9" PageChanged="click">
</SfPager>
@code {
...
public Query DataQuery = new Query().Take(3);
public void click(PageChangedEventArgs args)
{
int pageSize = 3;
DataQuery = new Query().Skip((args.CurrentPage - 1) * pageSize).Take(pageSize);
}
public class CustomAdaptor : DataAdaptor
{
public override object Read(DataManagerRequest dm, string key = null)
{
IEnumerable<VehicleData> DataSource = Vehicles;
int count = DataSource.Cast<VehicleData>().Count();
DataSource = DataOperations.Execute<VehicleData>(DataSource, dm);
return dm.RequiresCounts ? new DataResult() { Result = DataSource, Count = count } : (object)DataSource;
}
}
}