如何隐藏空列

时间:2010-08-08 13:23:46

标签: c# .net asp.net gridview

使用C#& asp.net

如果表中没有数据,gridview显示一行(它是空的)

我想隐藏gridview空行。

如何做到这一点。

5 个答案:

答案 0 :(得分:3)

假设您通常可以删除那一个可见行,只需检查通常具有值的字段是否为空且行数为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);
}

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

答案 1 :(得分:1)

如果您是手动数据绑定,那么您可以在此时检查并隐藏或禁用控件(如果没有数据)。如果您使用设计视图进行数据绑定,那么您应该在控件上订阅DataBinding或PreRender事件,然后检查。

答案 2 :(得分:1)

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

使用:

mydatagrid.DataSource=null;

mydatagrid.DataBind();

答案 3 :(得分:1)

作为另外两个注释,您可以签入代码并将MyDataGrid.Visible设置为true或false以隐藏整个表,或者您无法绑定数据源,或者您可以使用EmptyDataTemplate选项显示您想要的任何内容没有数据可以正常显示GridView。

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

答案 4 :(得分:0)

如果没有数据行,GridView的正常行为是呈现NOTHING。 (好吧,几乎没有;它坚持渲染一个< div>包装器,但那将是空的。)

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