zoukankan      html  css  js  c++  java
  • 处理GridView数据源(DataTable)为空行(转)

    ///
        /// 绑定GridView
        ///

    private void BindGridView()
        {
            DataTable dt = RunQuery(string.Format("Select NodeValue, NodeText From TreeViewTable where 1 > 2")).Tables[0];

            if (dt.Rows.Count == 0)
            {
                //生成DataRow对象
                DataRow row = dt.NewRow();

                foreach (DataColumn column in dt.Columns)
                {
                    //重新设置AllowDBNull属性
                    column.AllowDBNull = true;
                    //显式赋值成null
                    row[column] = DBNull.Value;
                }
                //将DataRow对象添加至table中
                dt.Rows.Add(row);
            }
           
            this.GridView1.DataSource = dt.DefaultView;
            this.GridView1.DataBind();
        }

    protected void GridView1_DataBound(object sender, EventArgs e)
        {
            //如果是空行,判断条件为:行数=1且主键列=DBNull.Value,如果需要区分是初始化/提交状态,可以加入 Page.IsPostBack 判断
            if (GridView1.DataKeys.Count == 1 && GridView1.DataKeys[0].Values[0] == DBNull.Value)
            {
                //清除掉该空行的全部单元格
                GridView1.Rows[0].Cells.Clear();
                //新建单元格对象
                TableCell cell = new TableCell();
                //合并单元格
                cell.ColumnSpan = GridView1.Columns.Count;

                this.GridView1.EmptyDataText = "没有查找到符合条件的记录";

                //设置单元格内容为GridView1.EmptyDataText,把提示文本给分离出来
                cell.Text = GridView1.EmptyDataText;
                //向空行中加入单元格
                GridView1.Rows[0].Cells.Add(cell);
                //让该行应用EmptyDataRowStyle样式,这样可以更加灵活,比如可以很容易的应用主题
                GridView1.Rows[0].ApplyStyle(GridView1.EmptyDataRowStyle);
            }
        }

    注意:要设置GridView的DataKeyNames

  • 相关阅读:
    centos7物理机a start job is running for dev-mapper-centosx2dhome.device
    jenkins pipeline流水线
    nginx 加载慢 负载均衡不均衡
    山田预发环境发布脚本
    prometheus 监控容器
    maven私服安装使用
    日志清理
    ERROR 1046 (3D000) at line 1: No database selected
    网络工程学习经典书籍推荐
    每日一句
  • 原文地址:https://www.cnblogs.com/EddyPeng/p/1225878.html
Copyright © 2011-2022 走看看