【问题标题】:How to hide the empty Column如何隐藏空列
【发布时间】:2010-08-08 13:23:45
【问题描述】:

使用 C# 和 asp.net

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

我想隐藏gridview的空行。

如何做到这一点。

【问题讨论】:

    标签: c# .net asp.net gridview


    【解决方案1】:

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

    让我知道这是否有帮助/有效

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        使用:

        mydatagrid.DataSource=null;
        
        mydatagrid.DataBind();
        

        【讨论】:

          【解决方案4】:

          与其他两个 cmets 一样,您可以签入代码并将 MyDataGrid.Visible 设置为 true 或 false 以隐藏整个表,或者您不能绑定数据源,或者您可以使用 EmptyDataTemplate 选项来显示您想要的任何内容GridView 没有数据可以正常显示。

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

          【讨论】:

            【解决方案5】:

            如果没有数据行,GridView 的正常行为是不呈现任何内容。 (嗯,几乎什么都没有;它坚持渲染一个

            包装器,但那将是空的。)

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

            【讨论】:

            • EmptyDataTemplate 表包装器是一个比 GridView div 更烦人的假设。如果您希望您的空 GridView 看起来就像一个数据填充的视图(例如,带有用于添加新行的页脚),您可以创建一个表格模板......然后将其无用地包装在另一个表格中。不是 CSS 成功的秘诀。
            猜你喜欢
            • 1970-01-01
            • 2019-10-05
            • 2016-05-13
            • 1970-01-01
            • 2011-07-31
            • 1970-01-01
            • 1970-01-01
            • 2018-11-14
            • 1970-01-01
            相关资源
            最近更新 更多