我有以下代码将自动编号列添加到DataTable
:
public void AddAutoIncrementColumn(DataTable dt)
{
DataColumn column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.AutoIncrement = true;
column.AutoIncrementSeed = 0;
column.AutoIncrementStep = 1;
dt.Columns.Add(column);
}
但是,对于表中已存在的所有行,该值将为空;似乎只有在添加此列后添加的新行才会触发自动增量。有没有办法为已经存在的行设置自动编号值?
我认为不可能触发AutoIncrement
当行已经在表中时的功能。但您可以轻松手动更新表:
public void AddAutoIncrementColumn(DataTable dt)
{
DataColumn column = new DataColumn();
column.DataType = System.Type.GetType("System.Int32");
column.AutoIncrement = true;
column.AutoIncrementSeed = 0;
column.AutoIncrementStep = 1;
dt.Columns.Add(column);
int index = -1;
foreach (DataRow row in dt.Rows)
{
row.SetField(column, ++index);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)