计算数据源/网格中的行数

时间:2014-10-04 09:01:42

标签: c# asp.net gridview

如何在数据绑定之前计算此上下文中的行?

这是我尝试过的,但即使有行也会返回0。

protected void OnRowDataBoundZeroLevel(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        string code = zeroLevelGrid.DataKeys[e.Row.RowIndex].Value.ToString();
        GridView firstLevelGrid = e.Row.FindControl("firstLevelGrid") as GridView;
        firstLevelGrid.DataSource = GetData(string.Format("IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'{0}')) SELECT * from [{0}]", code));

        var isData = firstLevelGrid.Rows.Count;
        if (isData>0)
        {
            firstLevelGrid.DataBind();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

将我的评论转换为答案。

实际绑定适用于DataBind调用,因此在数据绑定Rows.Count之前始终为空。如果GetData返回正确的IEnumerable结构,那么您可以检查它的行数。