要从数据库中检索批量数据并在datagridview上显示它。 我使用API(Asmx)方法来获取数据。 我想在用户向下滚动网格时加载数据(调用api)。 我不想在表单加载时获取所有数据。
我有API来获取部分数据。当用户向下滚动并将网格绑定为滚动时,如何调用此API?
这是一个相当大的挑战..任何帮助将不胜感激。谢谢!
答案 0 :(得分:1)
VirtualMode
的所需内容为DataGridView
。查看此MSDN Article,它解释了为什么它对您的批量数据有用。
虚拟模式设计用于非常大的数据存储。当VirtualMode属性为true时,您将创建具有一定数量的行和列的DataGridView,然后处理CellValueNeeded事件以填充单元格。虚拟模式需要实现底层数据缓存,以根据用户的操作处理DataGridView单元的填充,编辑和删除。有关实现虚拟模式的详细信息,请参阅如何:在Windows窗体DataGridView控件中实现虚拟模式。
还有一个关于设置here的教程。
答案 1 :(得分:0)
在DataGridView Scroll Event上,我们可以加载数据,因为用户向下滚动并到达网格的底部。
private void Grid_Scroll(object sender, ScrollEventArgs e)
{
if (e.Type == ScrollEventType.SmallIncrement || e.Type == ScrollEventType.LargeIncrement)
{
if (e.NewValue >= Grid.Rows.Count - GetDisplayedRowsCount())
{
//Load additional data here and add to your existing grid rows
//Keep track of last visible row and set it
}
}
}
// GetDisplayedRowsCount()将为您提供rowcount。获取rowcount的简单功能