我需要添加newRow
,MyHandler
它应该将该行添加到从传递给 MyHandler 的“方案”内部构建的表中。问题是当我使用dt.ImportRow(row);
它时不会添加任何行。如果我添加newRow
到t
表格然后这样handler.Add(t.row[t.Rows.Count - 1]);
做它可以工作,但我不想添加到t
表格中。这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);
}
}