c#datagrideview中用2个按钮,代替滚动条的效果 按钮都代替滚动条了,怎么还滚动条一边滚动一边加载显示?可以设置好每次显示多少条记录,比如20条。datagrideview的数据源就20条记录。做个按钮的Click事件,然后根据已显示记录的最大或者id来写sql,取接下来的20条或者之前的20条,然后把这20条设给datagrideview的数据源。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你说的就是类似上一页、下一页的按钮吧?上一页码=当前页码-1,下一页码=当前页码+1,当前页面记录=从(当前页码-1)*页面记录值 到 当前页码*页面记录值。从数据库获取数据时用DataReader顺序的获取页面记录值个记录就可以了,如果要有数据加载效果可以使用.net ajax的AjaxUpdateProgress控件 上下翻页就设置dataGridView1.FirstDisplayedScrollingRowIndex。点击down按钮时,滚动条一边滚动一边加载显示。就是在点击down按钮时,根据dataGridView1.RowCount获取已经显示的条数,计算下一页的范围后,从数据库读取下一页数据,加到dataGridView1的数据源中,然后再设置一下dataGridView1.FirstDisplayedScrollingRowIndex,让dataGridView1滚动。当然,你需要处理一下index的边界问题。int beginIndex = dataGridView1.RowCount;//DataTable dt是dataGridView1的数据源 DataRow dr = dt.NewRow(); dr[0] = 3; dr[1] = "两条虫子"; dt.Rows.Add(dr); dataGridView1.FirstDisplayedScrollingRowIndex = beginIndex; 可能我没说清楚,不能用分,用户要查看100万条记录,在datagridview里 界面上不显示上一页下一页,但是实现逻辑就是分页的思想。你用up,down取代了自带的滚动条,然后点击down的时候,程序就去获取下一页的数据,然后添加到dataGridView的datasource对象的后面,再控制dataGridView向下滚动。int pageSize = 100;int beginIndex = dataGridView1.RowCount;DataTable dt = getDataTable(beginIndex ,beginIndex + pageSize);//_dataTable是dataGridView1的数据源_dataTable.Merge(dt);dataGridView1.FirstDisplayedScrollingRowIndex = beginIndex;我测试过,这样可以。在检查一下当前显示的行已经快到dataGridView的末尾了,再执行获取数据。 可能我没说清楚,不能用分页,用户要查看100万条记录,在datagridview里你少了个字!嘿嘿... 设置dataGridView1.FirstDisplayedScrollingRowIndex,就可以控制dataGridView上下滚动。我说上一页下一页,是对数据而言,因为你的数据不是一次性取出的,就认为每次取一页的数据。最后的效果,就是点击down的时候,dataGridView的末尾又多出来一批数据。楼主你应该试运行一下代码看看。 数据提取问题 如何检测STRING中只包含数值类型的字符 c# 播放MP4视频问题 求代码 我的需求如下 请问什么样的第三方网格控件能实现,类似datagridview。 C# List<string>遍历父节点和子节点的问题。在线等 请问DataGrid里面的数字数据怎么靠右边显示啊? C#文件输出流的问题 使用vs.net2005为一个类创建单元测试时,自动添加了一个该类的修改类,是什么原因呢? 关于窗体传值问题 请问optional在c#用什么代替? 设置断点可运行,不设置则不能运行 急需:C#语句如何HOOK API
点击down按钮时,滚动条一边滚动一边加载显示。就是在点击down按钮时,根据dataGridView1.RowCount获取已经显示的条数,计算下一页的范围后,从数据库读取下一页数据,加到dataGridView1的数据源中,然后再设置一下dataGridView1.FirstDisplayedScrollingRowIndex,让dataGridView1滚动。当然,你需要处理一下index的边界问题。int beginIndex = dataGridView1.RowCount;
//DataTable dt是dataGridView1的数据源
DataRow dr = dt.NewRow();
dr[0] = 3;
dr[1] = "两条虫子";
dt.Rows.Add(dr);
dataGridView1.FirstDisplayedScrollingRowIndex = beginIndex;
界面上不显示上一页下一页,但是实现逻辑就是分页的思想。
你用up,down取代了自带的滚动条,然后点击down的时候,程序就去获取下一页的数据,然后添加到dataGridView的datasource对象的后面,再控制dataGridView向下滚动。int pageSize = 100;
int beginIndex = dataGridView1.RowCount;
DataTable dt = getDataTable(beginIndex ,beginIndex + pageSize);
//_dataTable是dataGridView1的数据源
_dataTable.Merge(dt);
dataGridView1.FirstDisplayedScrollingRowIndex = beginIndex;我测试过,这样可以。
在检查一下当前显示的行已经快到dataGridView的末尾了,再执行获取数据。
你少了个字!嘿嘿...
设置dataGridView1.FirstDisplayedScrollingRowIndex,就可以控制dataGridView上下滚动。
我说上一页下一页,是对数据而言,因为你的数据不是一次性取出的,就认为每次取一页的数据。
最后的效果,就是点击down的时候,dataGridView的末尾又多出来一批数据。
楼主你应该试运行一下代码看看。