如何在datagridview中实现自定义分页? [英] How do I implement custom paging in datagridview?
问题描述
我收到了一份通用的数据清单。我如何在列表上实现分页。
我尝试过:
private async Task< ienumerable>< tenantlistitem>> LoadTenantGrid()
{
var result = new List< tenantlistitem>();
try
{
使用(var response = await Shared.GetApiResponse(api / Tenant /))
{
if(response.IsSuccessStatusCode)
{
var Jsonstring = await response.Content.ReadAsStringAsync();
var tenant = JsonConvert.DeserializeObject< list>< tenantlistitem>> (Jsonstring);
if(tenant!= null)
{
result = tenant;
} < br $>
}
}
}
catch(Exception ex)
{
MessageBox.Show (ex.Message);
}
返回结果;
}
private async void Tenant_Load(object sender,EventArgs e)
{
grdTenant.DataSource = await LoadTenantGrid();
grdTenant.AutoResizeColumns();
grdTenant.Columns [10] .AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
}
i have received a generic list of data. how do i implement paging on the list.
What I have tried:
private async Task<ienumerable><tenantlistitem>> LoadTenantGrid()
{
var result = new List<tenantlistitem>();
try
{
using (var response = await Shared.GetApiResponse("api/Tenant/"))
{
if (response.IsSuccessStatusCode)
{
var Jsonstring = await response.Content.ReadAsStringAsync();
var tenant = JsonConvert.DeserializeObject<list><tenantlistitem>>(Jsonstring);
if (tenant != null)
{
result = tenant;
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return result;
}
private async void Tenant_Load(object sender, EventArgs e)
{
grdTenant.DataSource = await LoadTenantGrid();
grdTenant.AutoResizeColumns();
grdTenant.Columns[10].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
}
推荐答案
使用linq并提供以下指导:
public void SetPageData(int startIndex,int pageSize)
{
var pageData = data.Skip(startIndex).Take(pageSize).ToList();
grid.DataSource = pageData;
......等
}
Use linq with the following as a guidance:
public void SetPageData(int startIndex, int pageSize)
{
var pageData = data.Skip(startIndex).Take(pageSize).ToList();
grid.DataSource = pageData;
...etc
}
这篇关于如何在datagridview中实现自定义分页?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!