У меня была такая же проблема, и я решил ее, используя Remove
.На мой взгляд, ваш код может быть таким:
dsformulaValues.Tables.Add(m_DataAccess.GetFormulaValues
(dv.ToTable.DefaultView.ToTable(False, strSelectedCols)).Tables(0))
dsformulaValues.Tables.Remove(//I'm not sure to understand your code, so read this code line as only an input for your stuff. Please, consider my code below for more understanding.
Мой рабочий код был такой:
DataTable myTable = new DataTable();
private void Save()
{
DataSet myDataSet = new DataSet();
myDataSet.Tables.Add(myTable);
myDataSet.Tables.Remove(myTable);//This works
myDataSet.WriteXml("myTable.xml");
}
private void buttonSave_Click(object sender, EventArgs e)
{
Save();
}
Каждый раз, когда я нажимал кнопку buttonSave
, появлялось сообщение «DataTable уже принадлежит другому DataSet». После ввода кода строки myDataSet.Tables.Remove(myTable);//This works
приложение запускалось без проблем, и теперь я могу нажимать кнопку несколько раз, безпотеря значения myTable
и без сообщения об ошибке.
Надеюсь, это поможет.