C# 删除数据表c行后重置自动增量列#
这是代码C# 删除数据表c行后重置自动增量列#,c#,webforms,C#,Webforms,这是代码 DataTable dt = new DataTable(); DataColumn STT = new DataColumn("STT"); STT.DataType = System.Type.GetType("System.Int32"); STT.AutoIncrement = true; STT.AutoIncrementSeed = 1; STT.AutoIncrementStep = 1; dt .Columns.AddRange(new DataColumn[] { S
DataTable dt = new DataTable();
DataColumn STT = new DataColumn("STT");
STT.DataType = System.Type.GetType("System.Int32");
STT.AutoIncrement = true;
STT.AutoIncrementSeed = 1;
STT.AutoIncrementStep = 1;
dt .Columns.AddRange(new DataColumn[] { STT....
范例
表STT |…|…|
1 |
2 |
3 |
4 |
当我删除第3行时,我的STT列变成1 2 4。删除行后,如何将datatable重新排序为1 2 3。谢谢,因为我知道您不想使用数据,所以
数据表
不直接支持此功能。但是,您可以通过以下脏溶液来实现此目的:
for (int i = dt.Rows.Count - 1; i >= 0; i--)
{
DataRow dr = dt.Rows[i];
if (int.Parse(dr["STT"].ToString()) == STTLine)
dr.Delete();
}
dt.Columns["STT"].ReadOnly = false;
int counter = 0;
foreach (DataRow row in dt.Rows)
{
row["STT"] = ++counter;
}
dt.AcceptChanges();
dt.Columns["STT"].ReadOnly = true;