DataView objView = new DataView(FileList);
                objView.RowFilter = "JobCode= '" + p_strFilter + "'";
                objView.Sort = "CreateTime ASC";                if (objView.Count == 0)
                {
                    DataRowView newDRV = objView.AddNew();
                    newDRV[0] = “NoData”;
                    newDRV.EndEdit();
                }                GridView1.DataSource = objView;
                GridView1.DataBind();
上面的代码如果objView中没有数据,就给objView增加一行数据,显示“No Data”,这一行数据怎么也加不上。如果把if (objView.Count == 0)改成if (objView.Count != 0),则在GridView最后能显示NoData。这是怎么回事?

解决方案 »

  1.   

    为什么不干脆用EmptyDataTemplate?
      

  2.   

    if (objView.Count == 1)
    这样试试,不是很确认,估计有最后一行是空行新增
      

  3.   

    一楼说的EmptyDataTemplate方便实用啊!!!
      

  4.   

    下面是我的测试代码: protected void Button1_Click(object sender, EventArgs e)
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("value",typeof(string));
            DataView dv = new DataView(dt);
            if (dv.Count == 0)
            {
                DataRowView drv = dv.AddNew();
                drv.Row.ItemArray = new string[] { "No data" };
                drv.Row.EndEdit();       
            }
            this.GridView1.DataSource = dv;
            this.GridView1.DataBind();
        }