使用C#& asp.net
如果表中没有数据,gridview显示一行(它是空的)
我想隐藏gridview空行。
如何做到这一点。
答案 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 。