如何使用“ColumnName已经属于数据表”的错误?

时间:2014-10-04 11:07:14

标签: c# wpf datatable wpfdatagrid

Hai在c#中编写了下面的代码,它总是出错,因为列已经属于这个datatable.i dnt知道如何自由错误。下面的代码是用的。

private void Send_Click(object sender, RoutedEventArgs e)
{
 System.Data.DataRowView selectedFile = (System.Data.DataRowView)dataGrid1.SelectedItem;
 string studid = Convert.ToString(selectedFile.Row.ItemArray[3]);
 DataRow row = tabl.NewRow();
 tabl.Columns.Add("StudyUID", typeof(string));
 tabl.Columns.Add("Patient ID");
 tabl.Columns.Add("Patient Name");
 row["StudyUID"] = selectedFile.Row.ItemArray[3];
 row["Patient ID"] = selectedFile.Row.ItemArray[1];
 row["Patient Name"] = selectedFile.Row.ItemArray[2];
 sendstudy(this.SUID, row);
}

我需要如何避免错误"列已经属于这个数据表"

先谢谢

2 个答案:

答案 0 :(得分:1)

您不需要为每个新行添加列 - 一旦定义了列,它们就会包含在每个新行中。只需删除这些行:

 tabl.Columns.Add("StudyUID", typeof(string));
 tabl.Columns.Add("Patient ID");
 tabl.Columns.Add("Patient Name");

答案 1 :(得分:0)

此错误意味着您不向数据表声明新行,但希望将该行添加到数据表。 每次,都要在数据表中添加一行插入代码:DataRow row = tabl.NewRow(); 还有一件事,你必须只声明你的表列一次(为它添加任何行)。