日期:2014-05-19  浏览次数:20460 次

GridView中类似于dataGrid的VirtualItemCount的属性是什么?
在GridView中,我要做自定义分页(不用存储过程),要用到类似于dataGrid的VirtualItemCount的属性,但是GridView没有这个属性,请问怎么解决呢?

------解决方案--------------------
GridView没有类似属性
有几个代替办法:

一、((DataView)ObjectDataSource1.Select()).Count
或((DataView)AccessDataSource1.Select(new DataSourceSelectArguments())).Count;

二、
<1> 在ObjectDataSource的Selected事件中

e.ReturnValue就表示Select的返回结果

ObjectDataSourc将Select和SelectCount都做为Selected事件的启动源,所以自动分页时,每次提取数据都会运行两次Selected事件,第一次是Select结果集,第二次是SelectCount,所以e.ReturnValue得值也会使两个情况,一种是结果集合,一种就是记录总数。所以只要下面这样的代码,你就可以在界面上看到记录总数了,

在ObjectDataSource的Selected事件中写这样的代码,就可以输出记录数

if (e.ReturnValue.GetType() == typeof(Int32))
{
Response.Write(e.ReturnValue);
}
<2> 在AccessDataSource的Selected事件中

protected void AccessDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
LabelCount.Text = "记录总数: " + e.AffectedRows;
}