我首先有一个datatable,里面有两行数据,然后我添加了一个自增列(inc_num),当我继续添加记录时,inc_num列会自动填值,但刚开始的两行记录里inc_num的值却为空,如何让他们也有值

解决方案 »

  1.   

    cur_paydt = myds.Tables[0].Copy();
                    DataColumn column = new DataColumn("id");
                    column.DataType = System.Type.GetType("System.Int32");
                    column.ColumnName = "id";
                    column.AutoIncrement = true;
                    column.AutoIncrementSeed = 1;
                    column.AutoIncrementStep = 1;
                    column.Caption = "id";
                    column.ReadOnly = false;
                    column.Unique = false;
                    cur_paydt.Columns.Add(column);cur_paydt这个表里本来有两行数据,这两行字段的"id"值为空,
      

  2.   

    dt.Columns.Add("ID",System.Type.GetType( "System.Int32 ")); 
    dt.Columns[0].AutoIncrement=true; 
      

  3.   

    先添加自增列,然后给两行记录自增列字段赋值 比如1,2,然后再设置自增列autoincrement=true, AutoIncrementSeed=1,就可以了
      

  4.   

    可以建一个新datatable   把克隆他的结构 把除inc_num以外的字段  的值导入到改datatable 就可以了 不过这方法效率较低
      

  5.   


                DataTable dtNew = dt.Clone();
                foreach (DataRow row in dt.Rows)
                {
                    DataRow newRow = dtNew.NewRow();
                    foreach (DataColumn column in dt.Columns)
                    {
                        if (!column.ColumnName.Equals("inc_num"))
                        {
                            newRow[column.ColumnName] = row[column.ColumnName];
                        }
                    }
                    dtNew.Rows.Add(newRow);
                }仅供参考
      

  6.   

    自增列仅对新行起作用,对于已存在的行,值为 DBNull。11楼大侠的办法不错。我不明白的是楼主怎么会有这种奇怪的需求