本帖最后由 naonaoye 于 2011-04-20 11:32:59 编辑

解决方案 »

  1.   

    我觉得应该是在RowDataBound中写,这是个流程的思路问题,先全部显示出来,然后根据条件再去筛选
    在RowDataBound中绑定,这样应该是可以的
      

  2.   


    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) {
                DataRowView view = e.Row.DataItem as DataRowView;//假设 e为0列 e1 为1列 e2为2列
                if (view.Row["e2"].ToString() != "") {
                    e.Row.Cells[0].Visible = false;
                    e.Row.Cells[1].Visible = false;
                }
                if (view.Row["e1"].ToString() != "") {
                    e.Row.Cells[0].Visible = false;
                    e.Row.Cells[2].Visible = false;
                }
            }
      

  3.   

    请问下DataRowView view = e.Row.DataItem as DataRowView;是什么意思?
      

  4.   

    可以通过从数据库里面读取出来的时候就判断   如果e2有数据则e、e1为空  e1有数据则e、e2为空  绑定的时候直接绑定就可以了
      

  5.   

    DataRowView view = e.Row.DataItem as DataRowView将Row.DataItem 中读到的数据转换成DataRowView类型的,这里的as相当于强制转换不显示数据可以通过gridview.Rows[0].Cells[0].Text="代替内容" 
    或直接gridview.Rows[0].Cells[0].visible=false 将其隐藏。
      

  6.   

    e.Row.DataItem 当做DataRowView 对象赋给view