我的datatable是从数据库中查询的数据!现在我想在datatable中添加一列(复选框列),这一列要放在datatable的两列之间,不放在最后一列也不放在第一列,请大家指点一二该如何写代码,谢谢

解决方案 »

  1.   

    DataTable不是有个添加列的属性吗
    添加到指定位置看下MSDN
      

  2.   

     http://blog.renren.com/blog/bp/QggryZC6nC//新建表
       DataTable dt=new DataTable();
       //定义表结构
       dt.Columns.Add("Id",typeof(System.Int32));
       dt.Columns.Add("Code",typeof(System.String));
       dt.Columns.Add("Name",typeof(System.String)); //添加新行
       for(int i=0;i<=3;i++)
       {
        DataRow dr=dt.NewRow();
        dr[0]=i;
        dr[1]="s"+i;
        dr[2]="sic"+i;
        dt.Rows.Add(dr);
       }
      

  3.   

    重新创建个datatable 定义结构,再将数据导过去。
    不知道微软是否封装了更好的方法没
      

  4.   


     //添加在第二行的位置
     dt.Rows.InsertAt(dr,1);
      

  5.   

    直接在取数据库的Sql中加一列啊,‘’ as 你要加的列名,放在你要求的两列之间,不就可以了??
      

  6.   

    那你就自己定义dt的结构      SqlDataAdapter sda = new SqlDataAdapter("select * from demo", con);
    DataTable dt = new DataTable();
    dt.Columns.Add("id",typeof(int));
    dt.Columns.Add("account");
    dt.Columns.Add("password");
    dt.Columns.Add("check",typeof(bool));//新增加的选择列
    dt.Columns.Add("comuid"); 
          sda.Fill(dt);
      

  7.   

    dt.Columns[1].SetOrdinal(0);        //将第1列改成第0列
      

  8.   

    为DataTable添加列的方法是使用:
    DataTable.Columns.Add();
    这个方法只有这几种重载:
    Add()创建 DataColumn 对象并将其添加到 DataColumnCollection 中。 
    Add(DataColumn)  创建指定的 DataColumn 对象并将其添加到 DataColumnCollection。 
    Add(String)  创建一个具有指定名称的 DataColumn 对象,并将其添加到 DataColumnCollection 中。 
    Add(String, Type)  创建一个具有指定名称和类型的 DataColumn 对象,并将其添加到 DataColumnCollection 中。 
    Add(String, Type, String)  创建一个具有指定名称、类型和表达式的 DataColumn 对象,并将其添加到 DataColumnCollection 中。 无法指定插入的位置。所以你可能需要自定一个表结构。
      

  9.   


     dt.Rows.InsertAt(dr,1);这个本就是往DataTable插入一条新的记录,并且该新记录处于第二的位置。
      

  10.   

    DataColumn..::.SetOrdinal 方法 
    将 DataColumn 的序号或位置更改为指定的序号或位置。
    将 DataColumn 的序号或位置更改为指定的序号或位置。如果序号小于 0 或大于现有的列数 1(大于最后一列的序号),则将引发表示无效的 ArgumentException。
    还有这个方法,真不错!
      

  11.   

    我是添加了一个复选框列!所以在sql里的话还不知道怎么加!所以采用在外面添加列!
    dt.Rows.InsertAt(dr,1);
    这一据市添加行吧!呵呵