2010-08-08 73 views
2

使用C#& asp.net如何隐藏空列

如果没有数据的表中,GridView控件显示一个行(它是空的)

我想隐藏GridView的空行。

如何做到这一点。

回答

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

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

1

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

使用:

mydatagrid.DataSource=null; 

mydatagrid.DataBind(); 
0

的GridView的正常行为是呈现什么,如果没有数据行。 (好吧,几乎没有;它坚持渲染<DIV>包装,但是这会是空的。)

如果指定EmptyDataTemplate,但是,产生一种单细胞包装表包含什么是在您的模板中。 即使你的模板是空的,你会得到这个包装表(它的一个单元格为空)。听起来像你的问题的答案是不指定EmptyDataTemplate

+0

EmptyDataTemplate表包装比GridView div更令人讨厌。如果你希望你的空GridView看起来像一个数据填充的(例如用一个页脚来添加新行),你创建一个表格模板......然后被无用地包装在另一个表格中。不是CSS成功的秘诀。 – fortboise 2011-10-07 20:26:20