代码之家  ›  专栏  ›  技术社区  ›  Gopal

如何隐藏空列

  •  2
  • Gopal  · 技术社区  · 15 年前

    使用c&asp.net

    如果表中没有数据,则GridView显示一行(为空)

    我想隐藏GridView空行。

    如何做到这一点。

    5 回复  |  直到 15 年前
        1
  •  3
  •   Brien Foss    7 年前

    假设您通常可以删除一个可见行,只需检查通常具有值的字段是否为空,行计数是否为1,然后删除该行。

    if(String.IsNullOrEmpty(mydatagrid.Rows[0][0].ToString()) && mydatagrid.Rows.Count==1) //Check a field that would normally have a value
    {
         mydatagrid.Rows.RemoveAt(0);
    }
    

    如果这有帮助/有效,请告诉我

        2
  •  1
  •   Sruly    15 年前

    如果您是手动数据绑定,则此时无法进行检查,如果没有数据,则隐藏或禁用控件。如果使用设计视图进行数据绑定,则不应订阅控件上的数据绑定或预呈现事件,然后进行检查。

        3
  •  1
  •   Baharanji    15 年前

    您可以检查数据表是否没有任何行

    用途:

    mydatagrid.DataSource=null;
    
    mydatagrid.DataBind();
    
        4
  •  1
  •   Moo    15 年前

    作为其他两条注释,您可以签入代码并将myDataGrid.Visible设置为true或false以隐藏整个表,或者不能绑定数据源,或者可以清空DataTemplate选项以在没有数据可供GridView正常显示时显示所需的内容。

    http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.emptydatatemplate.aspx

        5
  •  0
  •   fortboise    14 年前

    GridView的正常行为是,如果没有数据行,则不呈现任何内容。(嗯, 几乎 什么都没有;它坚持呈现一个<Div>包装,但这将是空的。)

    但是,如果指定EmptyDataTemplate,将生成一个单单元包装表,以包含模板中的任何内容。 即使模板为空 ,您将得到包装表(其中一个单元格为空)。听起来你问题的答案是 不指定EmptyDataTemplate .

    推荐文章