2009-06-19 26 views
0

嗨,我想補充一點,即時得到回從數據表到一個新的DataTable添加從現有的表中的數據行到一個新的表

這一個數據行是使用的代碼IM:

foreach (DataRow dr1 in dt.Rows) 
{ 
    string AptType = dr1["AppointmentType"].ToString(); 
    if (AptType == "FreeTime") 
    { 
    dt2.ImportRow(dr1); 
    } 
} 
RadGrid2.DataSource = dt2; 
reader.Close(); 
conn.Close(); 

的問題是,當我再進入該表運行的頁面上即時得到一個datakey錯誤和列的一個心不是被承認事先

感謝

+0

什麼異常消息 – SLaks 2009-06-19 18:24:55

回答

1

待辦事項這兩個數據表具有相同的模式?如果這些錯誤不匹配列,數據類型或密鑰,則可能會引發這些錯誤。

+0

,他們應該有相同的模式我還沒有做這個做我之前需要首先設置列,因爲我認爲克隆功能做到了這一點。 – kevinw 2009-06-19 15:51:16

0

您應該使用強類型TableDataAdapters,我會讓你的生活變得更輕鬆......

這是很容易做到和理解。

按照本教程Strongly Typed TableDataAdapters and DataTables

一旦你掌握的概念,你應該做這樣的事情:

MyTypedTableAdapter tableAdapter = new MyTypedTableAdapter(); 
    MyTypedDataTable dt = tableAdapter.GetData(); 
    foreach (MyTypedDataRow row in dt.Rows) 
    { 
     string AptType = row.AppointmentType; 
     if (AptType == "FreeTime") 
     { 
      dt2.ImportRow(row); 
     } 
    } 
    RadGrid2.DataSource = dt2; 
相關問題