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);
}
我需要如何避免错误"列已经属于这个数据表"
先谢谢
答案 0 :(得分:1)
您不需要为每个新行添加列 - 一旦定义了列,它们就会包含在每个新行中。只需删除这些行:
tabl.Columns.Add("StudyUID", typeof(string));
tabl.Columns.Add("Patient ID");
tabl.Columns.Add("Patient Name");
答案 1 :(得分:0)
此错误意味着您不向数据表声明新行,但希望将该行添加到数据表。 每次,都要在数据表中添加一行插入代码:DataRow row = tabl.NewRow(); 还有一件事,你必须只声明你的表列一次(为它添加任何行)。