首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

GridView中类似于dataGrid的VirtualItemCount的属性是什么?解决方法

2012-02-07 
GridView中类似于dataGrid的VirtualItemCount的属性是什么?在GridView中,我要做自定义分页(不用存储过程),

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;
}

热点排行