我想从一个数据表到另一个数据表的特定数据我试过这个数据是副本 表但未在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();
此代码位于Page Load Event中 在此先感谢
答案 0 :(得分:0)
试试这个:
foreach (DataRow dr in dt.Rows) {
dt1.Rows.Add(dr.ItemArray);
}
答案 1 :(得分:0)
没有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);
答案 2 :(得分:0)
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();
}
}