0

あるデータテーブルから別のデータテーブルへの特定のデータを試してみましたが、このデータはテーブルにコピーされていますが、DataListには表示されません

解決策を教えてください。マイコード

    DataTable dt1 = new DataTable();
    DataTable dt = frmbal.GetAllForum();

    for (int i = 0; i < dt.Columns.Count;i++ )
        dt1.Columns.Add(dt.Columns[i].Caption );

    // dt1.Rows.Clear();
    DataRow []dr=dt.Select("intParentThreadID="+ Request.QueryString["id"]);
    dt1.Rows.Add (dr);
    dt1.AcceptChanges();
    DataList1.DataSource =dt1;
    DataList1.DataBind();

このコードはページ読み込みイベントにあります よろしくお願いします

4

3 に答える 3

0

ヴィシャル・スターはいいぞ

.しかし、このコードは !IsPostBack 内にある必要があります

サンプルは

protected void Page_Load(object sender, EventArgs e)    
    {    
        if (!IsPostBack)    
        {    
         DataTable dt1 = new DataTable();
         DataTable dt = frmbal.GetAllForum();
         for (int i = 0; i < dt.Columns.Count;i++ )
         dt1.Columns.Add(dt.Columns[i].Caption );
  // dt1.Rows.Clear();
         DataRow []dr=dt.Select("intParentThreadID="+ Request.QueryString["id"]);
         foreach (DataRow dr in dt.Rows) {
         dt1.Rows.Add(dr.ItemArray);
        } 
         dt1.AcceptChanges();
         DataList1.DataSource =dt1;
         DataList1.DataBind();

        }    
    }
于 2013-03-06T08:28:58.557 に答える
0

これを試して:

foreach (DataRow dr in dt.Rows) {
        dt1.Rows.Add(dr.ItemArray);
}
于 2013-03-06T08:21:41.133 に答える
0

a を取り、すべての行を挿入DataRowCollection.Addするメソッドはありません。DataRow[]を使用するオーバーロードは、object[]これらのフィールドを含む 1 つのレコードを挿入することです。

したがって、これは機能しません:

DataRow []dr=dt.Select("intParentThreadID="+ Request.QueryString["id"]);
dt1.Rows.Add (dr);

DataTable.Mergeandを使用する必要がありますDataTable.Clone(列を含むテーブルを複製するには)。

DataTable dt = frmbal.GetAllForum();
DataTable dt1 = dt.Clone();
dt1.Merge(dt);
于 2013-03-06T08:22:32.093 に答える