2013-03-06 6 views
0

Я хочу Конкретные данные из таблицы один данных в другой я попробовал эти данные копии в таблице, но не отображается в DataListDataTable Обновить Issue

Можете ли вы предложить мне какое-либо решение, пожалуйста? Моего кода

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

этот код на странице Load Event Заранее спасибо

ответ

0

Попробуйте это:

foreach (DataRow dr in dt.Rows) { 
     dt1.Rows.Add(dr.ItemArray); 
} 
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); 
+0

Спасибо, что работал для меня –

+0

Добро пожаловать. –

0

Вишал 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(); 

     }  
    }