【发布时间】:2016-07-28 17:59:39
【问题描述】:
我想减去两个数据表。我想要的是下面的图片。
我有以下代码,我在最后一点堆叠。这是我想在代码中做的事情。
当我单击 Button1 时,它会将当前数据放入 firstDsData。几秒钟后,当我单击 Button2 时,它会将当前数据上传到 secondDsData 并将其合并在一起。然后它们将合并到 FinalDsData 中。差异数据表将从 finaldsdata 中获取更改。
问题在最后一节。 FinalDsData.GetChanges() 不起作用。它说空引用异常。我还尝试使用 RowState.Unchanged/Modified() 进行更改。他们也没有工作。
DataTable firstDsData = new DataTable();
DataTable secondDsData = new DataTable();
DataTable finalDsData = new DataTable();
DataTable DifferenceDataTable = new DataTable();
private void Form1_Load(object sender, EventArgs e)
{
this.dataTable1TableAdapter.Fill(this.dataWE.DataTable1);
}
private void button1_Click(object sender, EventArgs e)
{
firstDsData = dataTable1TableAdapter.GetData();
}
private void button2_Click(object sender, EventArgs e)
{
secondDsData = dataTable1TableAdapter.GetData();
finalDsData.Merge(firstDsData);
finalDsData.AcceptChanges();
finalDsData.Merge(secondDsData); //Until here i can get data into finalDsData. No Problem.
DifferenceDataTable = finalDsData.GetChanges(); // Problem in here.Nullreferenceexception
ultraGrid2.SetDataBinding(DifferenceDataTable, DifferenceDataTable.TableName);
}
【问题讨论】:
标签: c# .net winforms datatable