У меня есть datatable say dt1 (который продолжает меняться внутри цикла). У меня есть другой datatable say dt2 (изначально его null). Теперь мне нужно добавить строки dt1 в dt2. Я попытался использовать Merge(), но предыдущие строки dt2 исчезают. Любая идея Как это сделать ??Как добавить строку в Datatable?
ответ
Вы очистное таблицу dt2
каждый раз, когда цикл выполняется. Попробуйте это:
DataTable dt1 = null; DataTable dt2 = null;
for (int i = 0; i < dt3.Rows.Count; i++)
{
// here "strSQL" is build which changes on the "i" value
dt1 = GetDataTable(strSQL); // this returns a table with single Row
if(dt2 == null)
{
dt2 = dt1.Clone();
}
dt2.Merge(dt1,true);
}
Кроме того, если ограничение запроса на основе i
применяется к столбец первичного ключа вы можете использовать
dt2.ImportRow(dt1.Rows[0]);
вместо
dt2.Merge(dt1,true);
Основываясь на вашем коде, я вижу, что вы используете dt2 = dt1.Clone(); Это вытирает все содержимое в dt2, поэтому вы добавляете только текущее содержимое dt1 в dt2.
Вместо клонирования вы должны просто объединить содержимое dt1 в dt2.
Для первой очереди я получаю ошибку (ссылка объекта не установлена в экземпляр объекта.). И для dt2.Merge (dt1, true) предыдущие строки удаляются при последующей функции слияния. – Avi
не могли бы вы вставить код в свой вопрос, чтобы мы могли видеть, что происходит? Потому что мой ответ обычно должен работать. – Webleeuw
Используйте ImportRow
метод, как это:
var table2 = new DataTable();
foreach(DataRow row in table1.Rows)
table2.ImportRow(row);
я принимаю ваши таблицы имеют одинаковую структуру
foreach (DataRow row in dt1.Rows)
dt2.Rows.Add(row.ItemArray);
Другой производной к João Анджело Ответ будет состоять в том, чтобы инициализировать dt2 раньше времени, а затем вы можете удалить нулевую проверку.
DataTable dt1 = null; DataTable dt2 = new DataTable();
for (int i = 0; i < dt3.Rows.Count; i++)
{
// here "strSQL" is build which changes on the "i" value
dt1 = GetDataTable(strSQL); // this returns a table with single Row
dt2.Merge(dt1,true);
}
- 1. Как добавить строку в DataTable?
- 2. DataTable - добавить столбец (checkbox) - прочитать строку DataTable в Array - добавить массив как строку в DataTable
- 3. Как добавить определенную пользователем строку в datatable?
- 4. C# Как добавить общую строку в DataTable
- 5. как добавить строку в существующий datatable
- 6. Как добавить строку в СУЩЕСТВУЮЩИЙ Datatable
- 7. jquery datatable добавить строку undefined?
- 8. DataTable Как добавить строку с атрибутами JQuery?
- 9. Добавить текст в существующую строку в datatable
- 10. jquery datatable добавить строку в начало
- 11. jquery datatable добавить класс в строку
- 12. Добавить строку в таблицу доступа из DataTable
- 13. Добавить новую строку в существующий динамический datatable
- 14. Не удалось добавить строку в DataTable
- 15. Невозможно добавить новую строку в datatable [C#]
- 16. Добавить полную строку в DataTable MVC4
- 17. Как добавить новую строку как html в существующий datatable
- 18. Как добавить один DataTable в другой DataTable
- 19. Как добавить радиокассету в каждую строку в dataTable
- 20. Как добавить кнопки в каждую строку в dataTable?
- 21. DataTable в строку
- 22. Как отредактировать строку в datatable
- 23. Как .draw() или добавить строку в datatable без перезагрузки ajax?
- 24. Как добавить новую строку в DataTable под существующими строками
- 25. Как обновить строку в DataTable в VB.NET?
- 26. Как найти строку в столбце в DataTable
- 27. Связать строку в datatable
- 28. Как добавить данные в DataTable?
- 29. Как добавить флажок в DataTable?
- 30. Как добавить div в datatable
Merge работает нормально. – Avi