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

  • 相关阅读:
    UI- 基础控件零散知识点回归
    UI-定时器与动画使用总结
    IE浏览器url中带中文报错的问题;以及各种兼容以及浏览器问题总结
    java实现判断一个经纬度坐标是否在一个多边形内(经自己亲测)
    高德地图web端笔记;发送http请求的工具类
    高德地图JSapi
    shiro(三),使用第三方jdbcRealm连接数据库操作
    shiro(二)自定义realm,模拟数据库查询验证
    java安全框架shiro(一)
    解决celipse中mybatis使用的时候xml没有提示的问题
  • 原文地址:https://www.cnblogs.com/EddyPeng/p/1225878.html
Copyright © 2011-2022 走看看