怎么样动态添加列呢
就是有我二个sql语句,他们只差一个列,所以查出来
按要求邦定,
如sql="select ss,ssss,ssss from nt 
sql2="select ss,ssss,ssss,sssss from nt
请问,我想邦定sql时,又当邦定sql2时,就要动态增加列了,是怎么增加的呢?当按要求邦定sql时,又要删除列啊,怎么做呢

解决方案 »

  1.   

    BoundColumn tmpColumn = new BoundColumn();
    tmpColumn.HeaderText = "SSSSS";
    tmpColumn.DataField = "sssss";                
    this.dg.Columns.AddAt(3,tmpColumn);//可以加在任何位置,不影响其他列
    上面的代码在每次绑定DataGrid之前都需要
      

  2.   

    不存在动态增删列的问题,你的datagrid不要在设计时指定列,而在运行时绑定数据,那就与你要绑定的源数据来决定是多少列了,你不必亲自来指定多少列
      

  3.   

    如果不想这么麻烦,其实可以让他有这一个绑定列,区别是显示与否
    void BindData()
    {
       //读数据库
       if(yourDataTable.Columns.Contains("sssss")
      {
         ((BoundColumn)DataGrid1.Columns[3]).DataField = "sssss";
         DataGrid1.Columns[3].Visible = true;
      }
      else
      {
         ((BoundColumn)DataGrid1.Columns[3]).DataField = "";
         DataGrid1.Columns[3].Visible = false;  }
    }
      

  4.   

    不是写了吗?
    this.DataGrid1.Columns.AddAt(3,tmpColumn);//可以加在任何位置,不影响其他列