C# 如何隐藏空列

C# 如何隐藏空列,c#,.net,asp.net,gridview,C#,.net,Asp.net,Gridview,使用C#&asp.net 如果表中没有数据,gridview将显示一行(为空) 我想隐藏gridview空行 如何执行此操作。如果手动绑定数据,则可以在此时进行检查,如果没有数据,则隐藏或禁用控件。如果使用设计视图进行数据绑定,则应订阅控件上的数据绑定或预渲染事件,然后进行检查。您可以检查datatable是否没有任何行 使用: 与其他两条注释一样,您可以签入代码并将MyDataGrid.Visible设置为true或false以隐藏整个表,或者您不能绑定数据源,或者您可以使用EmptyData

使用C#&asp.net

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

我想隐藏gridview空行


如何执行此操作。

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

您可以检查datatable是否没有任何行

使用:


与其他两条注释一样,您可以签入代码并将MyDataGrid.Visible设置为true或false以隐藏整个表,或者您不能绑定数据源,或者您可以使用EmptyDataTemplate选项在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);
}

让我知道这是否有用。

如果没有数据行,GridView的正常行为是不渲染任何内容。(好吧,几乎什么都没有;它坚持呈现包装,但那将是空的。)


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

,EmptyDataTemplate表包装器比GridView div更令人恼火。如果您希望空GridView看起来就像是一个数据填充的视图(例如,有一个页脚来添加新行),您可以创建一个表模板。。。然后被无用地包装在另一张桌子里。这不是CSS成功的秘诀。
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);
}