簡體   English   中英

C#將數據表添加到數據表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM