Csharp/C#教程:为什么DataTable.Rows.ImportRow在传递新创建的DataRow时不起作用?分享


为什么DataTable.Rows.ImportRow在传递新创建的DataRow时不起作用?

我需要将newRow添加到MyHandler ,它应该将该行添加到从传递给MyHandler的“scheme”内部构建的表中。 问题是当我使用dt.ImportRow(row); 它不会添加任何行。 如果我将newRow添加到t表然后执行handler.Add(t.row[t.Rows.Count - 1]); 所以它的工作原理,但我不想添加到t表。 这是我可以创建新行。

为什么dt.ImportRow(row); 不起作用? 怎么解决?

 { var t = new DataTable(); t.Columns.Add(new DataColumn("Col1", typeof(string))); t.Columns.Add(new DataColumn("Col2", typeof(byte))); t.Columns.Add(new DataColumn("Col3", typeof(byte))); t.Rows.Add("a", 1, 1); t.Rows.Add("b", 2, 2); // MyHandler build internal table from the scheme var handler = new MyHandler(t.Clone()); var newRow = t.NewRow(); row["Col1"] = "c"; row["Col2"] = 3; row["Col3"] = 3; handler.Add(row); } public class MyHandler { DataTable dt; public class MyHandler(DataTable scheme) { dt = scheme; } public void Add(DataRow row) { dt.ImportRow(row); } } 

您应该只使用ImportRow从另一个DataTable添加行。 根据MSDN ,使用DataTable.NewRow创建的行应与DataTable.NewRow一起添加。

上述就是C#学习教程:为什么DataTable.Rows.ImportRow在传递新创建的DataRow时不起作用?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1022900.html

(0)
上一篇 2022年1月7日
下一篇 2022年1月7日

精彩推荐