您所在的位置: 程序员家园 -> 家园博客 ->
 
在哪里摔倒
就在哪里自己爬起来

用户登录

查  找

最新评论

最新留言

常用网站

网易邮箱 GMAIL  

百度搜索 MSDN

霏凡软件 BT精品

影视帝国 射 手 网

电驴下载 全 库 网

友情连接

茄菲的窝 冰冰博客

枫叶飘零 玫  瑰

ACEN 云 豹 子

统  计



用ObjectDataSource作数据源,用GridView分页时,获取总记录数的方法
狼子 发表于 2006-9-7 17:06:00 阅读全文 | 回复(1) | 引用通告 | 编辑

GridView.rows.Count,返回的是GridView当前页面的记录数

objectdatasource的selected事件,:e.AffectedRows返回-1

解决办法:

在ObjectDataSource的Selected事件,取e.ReturnValue的类型,强制转换类型取这个DataSet的行数

protected void ObjectDataSource1_Selected(object sender, ObjectDataSourceStatusEventArgs e)
    {
        //Response.Write(e.ReturnValue.GetType().ToString());
        EventDataSet.T_EventListDataTable dt = new EventDataSet.T_EventListDataTable();
        dt = (EventDataSet.T_EventListDataTable)e.ReturnValue;
        Label1.Text = dt.Rows.Count.ToString();
    }

运行的时候:

1、注释蓝色和灰色部分,用红色部分取e.ReturnValue的类型

2、注释红色,修改蓝色部分,设置类型转换

e.ReturnValue返回的对象肯定是select的全部,一个DataSet,不过要对应你自己的在数据集里设置的Adapter

Re:用ObjectDataSource作数据源,用GridView分页时,获取总记录数的方法
mountain315发表评论于2007-1-12 19:26:00 个人主页 | 引用 | 返回 | 删除 | 回复

因为e.ReturnValue的类型是继承DataTable的,所以可以这样取,就不用判断他的类型是什么了:

DataTable dt = new DataTable();
        dt = (DataTable)e.ReturnValue;
        if (dt == null)
        {
            LabelNum.Text = "0";
        }
        else
        {
            LabelNum.Text = dt.Rows.Count.ToString();
        }

发表评论:

    昵称:
    密码:
    主页:
    标题:
Powered by Oblog.