2009-11-08 3 views
0

DataRow [] row = table.Select ("Weight = '57 '"); // имеет 1 запись DataTable dt = new DataTable();как преобразовать datarow в datatable

 foreach (DataRow dr in row) 
       { 
        dt.ImportRow(dr); 
       } 
       dt.AcceptChanges(); 

мой ряд имеет 1 запись. когда я пытаюсь преобразовать datarow [] row в datatable , он работает нормально. когда я проверяю мой столdt в нем нет записи . что проблема в нем

спасибо

ответ

2

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

Пример кода с другого сайта:

DataTable dtDest = new DataTable(); 
dtDest = dsActivity.Tables[0].Clone(); 
foreach(DataRow dr in dsSrc.Tables[0].Rows) 
{ 
DataRow newRow = dtDest .NewRow(); 
newRow.ItemArray = dr.ItemArray; 
dtDest.Rows.Add(newRow); 
} 

клон делает dtDest тот же тип (столбцы) в качестве источника.

Другой способ - создать новую строку, добавить нужные столбцы и скопировать значение по значению.

+0

dani Вы бы указали в коде, как это сделать. – happysmile

+0

Истекает редактирование ответа – Dani

1

Попробуйте следующее:

dt.Rows.Add(dr) 
2
DataRow[] rows = table.Select("Weight='57'"); 
DataTable dt = new DataTable(); 

foreach (DataRow item in rows) 
{ 
    // add values into the datatable 
    dt.Rows.Add(item.ItemArray); 
} 
6
DataTable dt = new DataTable(); 

DataRow[] dr = dt.Select("Your string"); 

DataTable dt1 = dr.copyToDataTable(); 
1
DataTable DT = DTMain.Clone(); 
// suppose DT is the table where we need to put datarows and DTMain is a table 
// having the stucture of the datatbale, means you must have some structure for 
// datatable. 

//supposes you have a collection of datarows as 

foreach(DataRow dr in DatarRowColl) 
{ 
    DT.ImportRow(dr); 
} 

DT.AcceptChanges(); 

// here you get the datarows in a datatable. 

Happy программирования.

1
dim dt as new DataTable 
dim row as new DataRow 
dim params(10) as string 
''''' imagine we have row and we fill it 
''''' you should create your dataTable as you want 
dt.Columns.Add("column1") 
dt.Columns.Add("column2") 
. 
. 
. 
For Each r As DataRow In row 
    params = {dr.Item("column1"), dr.Item("column2")} 
    dt.Rows.Add(params) 
Next 
dt.AcceptChanges() 
Смежные вопросы