数据表刷新问题
本文关键字:新问题 刷新 数据表 | 更新日期: 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.Merge
和DataTable.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();
}
}