2012-01-04 2 views
0

У меня есть C# код, который выглядит примерно такПочему метод System.Data.DataTable.ImportRow вставляет строку без столбцов?

System.Data.DataRow row; 
var table = new System.Data.DataTable(); 

// code that populates the DataRow... 
table.ImportRow(row); 

После того как я вызвать функцию ImportRow, строка вставляется в таблицу, но это не имеет столбцов. Я изучил DataRow после того, как он заселен, и содержит все столбцы и данные, которые он должен использовать, так что это не проблема.

documentation в методе DataTable.ImportRow указывает, что: «Если DataRow, переданный как параметр, находится в отключенном состоянии, он игнорируется и не генерируется исключение». Я проверил DataRowState строки, которую я пытаюсь вставить, и она не отключена (она не изменилась), так что это тоже не проблема.

У кого-нибудь есть идеи относительно того, что здесь происходит не так?

+0

Вы, вероятно, нужно, чтобы показать, как создаются таблицы и строки. – Ray

ответ

1

Как вы создаете DataRow?

Важно то, что схема должна быть определена на столе и быть совместимой со строкой.

Вы можете создать строку следующим образом:

var row = table.NewRow(); 
//populate.... 
table.Rows.Add(row); 
+0

Да, вот и все. Я пытался импортировать строку в новую, «пустую» таблицу. Он еще не определил схему. (Мой образец кода был первоначально неточным, я его модифицировал.) – raven

Смежные вопросы