DataTable DT = dataSet.Tables[0].Copy();

解决方案 »

  1.   

    for( int i = 0; i < dataSet.Tables[0].Columns.Count; i++ )
    DT.Columns.Add(dataSet.Tables[0].Columns[i]);
    ============================================================
    你的表里有多少列你就加了多少此
      

  2.   

    你晕什么啊,我是针对你程序里出错来写的.你想加一列可以就在dataSet.Tables[0]上加啊,对数据库没影响,如果你实在不想影响原来的数据.那么就用我上面的代码,然后DT.Columns.Add.....一列就行啦.
      

  3.   

    可以在控件中增加一列,把它绑定到一个递增的变量也可,<%#rownumber++>可实现两样的效果。
      

  4.   

    TO: MyLf(愿望树) 我是想在DataTable的第一列的前面增加一个“序号”列,并不是仅仅是在DataTable尾部增加一列。
      

  5.   

    System.Data.SqlClient.SqlDataAdapter ad = new System.Data.SqlClient.SqlDataAdapter();
    System.Data.DataSet ds = new System.Data.DataSet();
    System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
    System.Data.DataTable DT = new System.Data.DataTable("table");

    cmd.CommandText="select * from tabloc_twohispoints";
    cmd.Connection=this.sqlConnection1;
    ad.SelectCommand=cmd;
    ad.Fill(ds);
    int i=1; DT.Columns.Add("ID", System.Type.GetType("System.Int32"));
    DT.Columns.Add("PClintID", System.Type.GetType("System.Int32"));
    DT.Columns.Add("X1", System.Type.GetType("System.Int32"));
    DT.Columns.Add("Y1", System.Type.GetType("System.Int32"));
    DT.Columns.Add("Flag", System.Type.GetType("System.Int32"));
    DT.Columns.Add("Time", System.Type.GetType("System.DateTime"));



    DataRow tmprw;
    foreach(DataRow rw in ds.Tables[0].Rows)
    {
    tmprw = DT.NewRow();
    tmprw[0]=i;
    tmprw[1]=Convert.ToInt16(rw[0].ToString());
    tmprw[2]=Convert.ToInt16(rw[1].ToString());
    tmprw[3]=Convert.ToInt16(rw[2].ToString());
    tmprw[4]=Convert.ToInt16(rw[3].ToString());
    tmprw[5]=Convert.ToDateTime (rw[4].ToString());
    //tmprw.AcceptChanges();
    DT.Rows.Add(tmprw);
    i++; }
    this.dataGrid1.DataSource=DT;
    我是这样写的,但不是最好的方法,你可以参考kgh0319的方法,是最好的
      

  6.   

    楼上的方法可真麻烦.楼主:你是在WinForm下吗?
    只要把序号所在的列样式放在第一就可以了,至于该列在DataTable中Columns的什么位置就不重要了.
    再说一次,你新加的序号列对于你保存资料没关系,只是在你的界面上显示而已
      

  7.   

    我是在winForm下面实现这个功能,也就是说在查询了数据库后,需要加一个序号形成一个下列的数据结构:序号  姓名   性别 ...
     1    张三    男  ...
     2    李四    男
     .     .      .
     .     .      .形成这样的一个结构,进行打印Preview,并打印。