ods_Selected行数

时间:2010-07-22 15:11:13

标签: c# gridview count objectdatasource

我有以下代码,它给出了绑定到对象数据源的gridview中的行数。

protected void odsProduct_Selected(object sender, ObjectDataSourceStatusEventArgs e)
        {
            lblHowManyRows.Text = ((List<tblProduct>)e.ReturnValue).Count.ToString();

可爱。

但是,在对象数据源生成gridview输出之前,我将如何进行基本相同的计数呢?

我要做的是让用户有机会检查在实际创建gridview之前返回的行数(绑定到对象数据源)

是否有东西存在于ods中,或者我应该只写另一个linq语句并将其绑定到那个?

为我的无知道歉

1 个答案:

答案 0 :(得分:0)

好吧,你可以有一个OnSelecting事件,例如:

protected void OnSelecting(object sender, ObjectDataSourceSelectingEventArgs e)
    {
        if (lblHowManyRows.Text == string.Empty)
        {
            e.Cancel = true;
            lblHowManyRows.Text = [Linq statement here].Count().ToString();
        }
    }

第一次将标签设置为计数,并在下次检索数据。

下次lblHowManyRows不会为空,所以它会转到你的odsProduct_Selected方法:

        protected void odsProduct_Selected(object sender, ObjectDataSourceStatusEventArgs e)
    {
        lblHowManyRows.Text = string.Empty;
    }

将标签留空,以便用户可以继续选择。这样,他们第一次点击时,他们只获得计数,下次他们点击时,他们获得完整的网格绑定。

如果是我,我很可能通过AJAX / webservice检索完整的计数,而不进行回发或完全使用gridview,但我不知道问题的完整上下文。