关于gridview绑定数据为空时的界面设计

显示效果如图:

后台代码如下:

private void getDataBind()
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("id");
        dt.Columns.Add("name");
        dt.Columns.Add("location");
        dt.Columns.Add("date");
        if (dt.Rows.Count == 0)
        {
            dt.Rows.Add(dt.NewRow());
        }
        this.GridView1.DataSource = dt;
        this.GridView1.DataBind();

        int colnumcount = dt.Columns.Count;
        GridView1.Rows[0].Cells.Clear();
        GridView1.Rows[0].Cells.Add(new TableCell());
        GridView1.Rows[0].Cells[0].ColumnSpan = colnumcount;
        GridView1.Rows[0].Cells[0].Text = "没有相关记录";
        GridView1.Rows[0].Cells[0].Style.Add("color", "red");
    }

这里需要注意gridview本身自带的属性:

EmptyDataText:获取或设置在 GridView 控件绑定到不包含任何记录的数据源时所呈现的空数据行中显示的文本。

EmptyDataTemplate:获取或设置在 GridView 控件绑定到不包含任何记录的数据源时所呈现的空数据行的用户定义内容。

这两个属性也是当gridview绑定的数据源无任何行的时候显示没有数据的提示,但是这样显示出的效果是连表头都不会显示,人性化效果太差。

效果如图:

原文地址:https://www.cnblogs.com/xlhblogs/p/2307095.html