数据表刷新问题

本文关键字:新问题 刷新 数据表 | 更新日期: 2023-09-27 18:02:23

我想从一个数据表到另一个数据表的特定数据,我试过这个数据是复制的数据列表

你能给我一些建议吗?我的代码

    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();

此代码在页面加载事件中

数据表刷新问题

试试这个:

foreach (DataRow dr in dt.Rows) {
        dt1.Rows.Add(dr.ItemArray);
}

没有DataRowCollection.Add方法接受DataRow[]并插入所有行。使用object[]的重载是插入一条包含这些字段的记录。

所以这行不通:

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

您应该使用DataTable.MergeDataTable.Clone(克隆包含列的表)。

DataTable dt = frmbal.GetAllForum();
DataTable dt1 = dt.Clone();
dt1.Merge(dt);

Vishal Suthar很好

。但是这些代码必须在!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();
        }    
    }