我有一个急剧的桌面应用程序,用户希望我在Web应用程序中做同样的事情,我在桌面应用程序上有一个数据网格,并在我的webform上添加了一个gridview。
单击时,还有一个名为last record的按钮返回数据网格视图的最后一行:
net_Weight_TrackingDataGridView.FirstDisplayedScrollingRowIndex = net_Weight_TrackingDataGridView.RowCount - 1;
我正在尝试使用相同的功能在网格视图中工作:
我的网格视图已打开:
this.GridView1.AllowPaging = true;
this.GridView1.AllowSorting = true;
因为我有很多数据,如果我将上面的内容设置为false,页面会继续加载和加载。 对于我试过的最后一行:
GridViewRow LastRow = GridView1.Rows[GridView1.Rows.Count - 1];
上面的代码无效......
任何帮助都将受到慷慨的赞赏。
答案 0 :(得分:0)
来自MSDN:
如果GridView控件绑定到数据源控件 能够在请求时返回单页数据 GridView控件将直接利用该功能。
- 醇>
如果GridView控件绑定到一个数据源控件 不直接支持分页功能,或者如果是GridView控件 通过DataSource属性绑定到代码中的数据结构, GridView控件将通过获取所有数据来执行分页 来自的记录,仅显示当前记录 页面,并丢弃其余部分。
所以,
this.GridView1.AllowPaging = true;
this.GridView1.AllowSorting = true;
只有在你拥有案例#1的情况下才能工作。如果您有案例#2,asp.net将请求所有数据,这就是您的页面速度慢的原因。为避免这种情况,您需要根据情况#1使用数据源控件,或者甚至更好地实现自定义分页,以便查询不返回数据库中的所有行,而只返回X所需的行。
了解自定义分页(example)