C#中的滚动事件

时间:2009-05-07 11:03:04

标签: c# .net winforms

假设我有一个DataGridView控件,它显示指定表的大约100条记录。每当用户向下滚动到最低点时,我想向DataSet后面的DataGridView添加另外100条记录。

我知道DataGridView控件有一个像 private void DataGridView_Scroll(object sender, ScrollEventArgs e)这样的滚动事件,ScrollEventArg给我ScrollOrientationScrollEventType。但是,如何确切地确定滚动到达滚动条末尾的确切内容?

TNKS。

3 个答案:

答案 0 :(得分:0)

听起来你可能想看"virtual mode"。数据绑定的工作方式不同,但它非常适合于延迟数据提取。

答案 1 :(得分:0)

每个DataGridViewRow都有一个“显示”属性,指示该行当前是否显示在屏幕上。因此,您可以这样做:

if(this.dataGridView1.Rows[this.dataGridView1.Rows.Count - 1].Displayed)
{
   //last rows is displayed, do what you gotta do
}

答案 2 :(得分:0)

使用DataReadear读取一些记录。然后在DataGridView的Scroll事件中,检查属性FirstDisplayedScrollingRowIndex是否接近加载记录的数量,再次使用DataReader获取另一堆行等等。