[英]C# Adding a Datatable to a Datatable
我知道聽起來確實很奇怪,但是我對C#還是陌生的,希望你們能幫助我。
我循環通過一個DataTable,然后執行qry,並將結果放入DataTable。
一條記錄可以正常工作,但是一旦有更多記錄,則只有最后一條記錄在DT中,這很有意義,我只是不知道如何解決它。 我需要在DT中保存所有記錄。
這是我的代碼,歡迎任何建議。
DataTable dt = ml.getRegistration(); DataTable dt2 = new DataTable(); foreach (DataRow row in dt.Rows) { dt2 = ml.getRegistrationExport(row["ID"]); } GridView1.DataSource = dt2; GridView1.DataBind();
如果ml.getRegistrationExport返回一個數據表,則當您遍歷第一個數據表時,它將覆蓋數據。.您需要使用dt2.merge將所有數據添加到該數據表中。 HTH。
DataTable dt = ml.getRegistration();
DataTable dt2 = new DataTable();
foreach (DataRow row in dt.Rows)
{
dt2.merge(ml.getRegistrationExport(row["ID"]));
}
GridView1.DataSource = dt2;
GridView1.DataBind();
我看到的問題之一是要遍歷的每一行都替換dt2。 因此,如果您有5行,則將替換dt2 5次,而哪一行碰巧是最后一行將成為dt2的規則。
我會認為。
您是要為原始dt中的每一行向dt2添加一行嗎?
DataTable dt = ml.getRegistration();
DataTable dt2 = new DataTable();
foreach (DataRow row in dt.Rows)
{
DataRow newRow = dt2.NewRow();
// What Does getRegistrationExport return?
// A row or series of rows or a new DT?
// Each would change solution
newRow["SomeColumn"] = ml.getRegistrationExport(row["ID"]);
dt2.Rows.Add(newRow);
}
GridView1.DataSource = dt2;
GridView1.DataBind();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.