繁体   English   中英

如何在GridView asp.net中显示“找不到记录”列?

How to show “No record found” with Columns in GridView asp.net?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

当我将数据源绑定到GridView时,如果它在我的数据源中没有记录,它将不会显示任何内容。

如果我在GridView中将数据设置为EmptyDataText属性,它将只显示该文本。

,但我想显示我的数据源列,第一行必须在我的GridView中显示“找不到记录”。 我该怎么办?

2 个回复

当数据表为空时,创建一个新行,然后在将columspan设置为cell count之后绑定。

        DataTable dtTable = GetData();

        if (dtTable.Rows.Count > 0)
        {
            gvDetails.DataSource = dtTable;
            gvDetails.DataBind();
        }
        else
        {
            dtTable.Rows.Add(dtTable.NewRow());
            gvDetails.DataSource = dtTable;
            gvDetails.DataBind();
            int TotalColumns = gvDetails.Rows[0].Cells.Count;
            gvDetails.Rows[0].Cells.Clear();
            gvDetails.Rows[0].Cells.Add(new TableCell());
            gvDetails.Rows[0].Cells[0].ColumnSpan = TotalColumns;
            gvDetails.Rows[0].Cells[0].Text = "No Record Found";
        }

你可以创建一个扩展方法,看看是否有记录,然后添加一行,说“找不到记录”。 例如:

你的grid.ValidateRecords();

或者您可以在数据源级别添加扩展方法。 例如:

public static class Extensions
{
    public static DataSet HasData(this DataSet ds)
    {
        if (ds == null || ds.Tables.Count < 1 || ds.Tables[0].Rows.Count < 1)//add more validation, if dataset is not null?
        {
            DataTable dt = new DataTable("Table1");
            dt.Columns.Add("Col1");
            DataRow dr = dt.NewRow();
            dr["Col1"] = "No records found";
            dt.Rows.Add(dr);
            ds.Tables.Add(dt);
        }
        return ds;
    }

}

用法:

gridView1.DataSource = myDataSet.HasData();

输出: 在此输入图像描述

1 如何在ASP.Net中对GridView记录进行排序

我想对数据databound GridView进行排序。 我在UpdatePanel子Web窗体中添加了GridView 。 以下是我的代码。 &lt;asp:GirdView&gt;标记中声明的所有事件都是CRUD的常规事件。 在代码中,我跳过了Details , Date等其他 ...

2 如何在asp.net中基于多个选定的下拉项显示Gridview记录

在我的应用程序中,我有多个选择的下拉列表,并且基于选择,我需要显示在gridview中。 如果我从多重选择下拉列表中选择两个项目,则需要在gridview上显示两个选定的记录。下面的代码是我选择了两个项目,我只会得到第一个选择记录。 我试过代码: 如果我从ddlcol2中选择两项, ...

3 没有记录时如何在gridview“找不到记录”中显示文本

我在iframe中有几个图表和网格视图,其中的图表和网格视图正在从数据库中获取数据。当记录没有问题,但是对于某些用户来说,其中一个网格视图没有记录时,我必须显示一条消息“未找到记录” ”。 请对此提出建议。 我尝试了下面的代码,其中显示了一条消息,但是显示在小框中,但是我需要在gridv ...

4 Asp.net在gridview页脚中显示的列总和

我有一个上传Excel文件的程序。 上载后,excel文件的值将在gridview中传输。 我要做的是获取每列的总价值并将其放置在页脚中。有人可以帮助我吗? 谢谢。 到目前为止,这就是我所拥有的。 这是我的前端 这是我要实现的示例布局。 我想获得行中各列的总和,并 ...

6 在asp.net的GridView列中显示子XML元素

我有类似以下结构的XML文档。 我成功地在GridView中取消了product元素,但是我仍在寻找一种如下显示内部元素的方法。 现在通过注意xml文件,我们可以看到多个“功能”元素对同一产品而言是独立的,关系是(多对一)。 同样,在上述代码中,productAllFeat ...

7 在ASP.NET中显示/隐藏GridView列

我正在使用C#在Visual Studio 2012中创建一个Web项目,该项目将从数据库中获取数据并显示在网格视图中。 数据库中有许多列,它们按原样显示在网格视图上。 我想为用户提供一个选项,以使用复选框消除不需要的列,并在选中后单击按钮必须对其进行更新。 到现在为止,我已经尝试执行 ...

8 如何在ASP.NET中冻结GridView中的列?

我在Internet上搜索了许多方法和解决方案,但没有一个适用于我的项目。 谁能帮忙看看是否有解决方案,下面是我的代码 下面是我的CSS代码 此解决方案可以在IE浏览器上正常使用,但升级到Edge或Chrome不能显示效果,我已经尝试了多种解决方案,但似乎都没有效果。 有任何想法吗? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM