在现有数据表中添加按顺序编号的新列的最佳方法
我有一个非空数据表。向其中添加从 1 开始按顺序编号的另一列的最佳方法是什么
。我尝试了以下代码。但没有成功。
DataColumn dc = new DataColumn("Col1");
dc.AutoIncrement = true;
dc.AutoIncrementSeed = 1;
dc.AutoIncrementStep = 1;
dc.DataType = typeof(Int32);
dt.Columns.Add(dc);
在这种情况下设置任何表达式会有帮助吗?
提前致谢
I have a non empty datatable . What is the best way to add another column to it that has sequential numbering starting from 1.
I tried the following code. But did not work.
DataColumn dc = new DataColumn("Col1");
dc.AutoIncrement = true;
dc.AutoIncrementSeed = 1;
dc.AutoIncrementStep = 1;
dc.DataType = typeof(Int32);
dt.Columns.Add(dc);
Will setting any expression help in this scenario ?
Thanks in Advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我认为您可以通过使用第二个“帮助器”数据表来实现这一点,该数据表仅包含一个自动增量字段,然后用现有数据填充/合并它,如下所示:
然后您只需返回 dtIncremented 表而不是原来的 dt。这不是一个优雅的解决方案,但应该可行。
I think you could achieve that by using a 2nd "helper" data table that would contain just an auto-increment field and then you populate/merge it with the existing data, something like this:
And then you would just return dtIncremented table instead of the original dt. Not an elegant solution but should work.
下面的代码对我有用
代码已编辑
below code worked for me
Code is Edited
您必须为此构建一个全新的数据表,并手动将每一行从旧表逐一深度复制到新表。对不起。
You'll have to build a whole new datatable for this and manually deep-copy each row one by one from the old table to the new. Sorry.