【发布时间】:2010-08-08 13:23:45
【问题描述】:
使用 C# 和 asp.net
如果表格中没有数据,gridview显示一行(它是空的)
我想隐藏gridview的空行。
如何做到这一点。
【问题讨论】:
使用 C# 和 asp.net
如果表格中没有数据,gridview显示一行(它是空的)
我想隐藏gridview的空行。
如何做到这一点。
【问题讨论】:
假设您通常可以删除该可见行,只需检查通常具有值的字段是否为空且行数为 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);
}
让我知道这是否有帮助/有效
【讨论】:
如果您是手动数据绑定,则可以在当时检查并在没有数据时隐藏或禁用控件。如果您使用设计视图进行数据绑定,那么您应该订阅控件上的 DataBinding 或 PreRender 事件并进行检查。
【讨论】:
您可以检查数据表是否没有任何行
使用:
mydatagrid.DataSource=null;
mydatagrid.DataBind();
【讨论】:
与其他两个 cmets 一样,您可以签入代码并将 MyDataGrid.Visible 设置为 true 或 false 以隐藏整个表,或者您不能绑定数据源,或者您可以使用 EmptyDataTemplate 选项来显示您想要的任何内容GridView 没有数据可以正常显示。
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.emptydatatemplate.aspx
【讨论】:
如果没有数据行,GridView 的正常行为是不呈现任何内容。 (嗯,几乎什么都没有;它坚持渲染一个
但是,如果您指定 EmptyDataTemplate,则会生成一个单单元包装表以包含模板中的任何内容。 即使你的模板是空的,你也会得到那个包装表(只有一个单元格,空的)。听起来您的问题的答案是不要指定 EmptyDataTemplate。
【讨论】: