2017-09-14 61 views
0

我的.aspx頁面上有兩個GridView,兩者都有不同的selectMethod,不同的數據但具有相同的HeaderTemplate。我想我的.aspx將只有一個gridView但不同的數據源。有沒有任何可能的方法來完成這項任務。在單個GridView中顯示來自兩個GridView的行

+0

你找到的東西可以合併您的列表並將最終列表綁定到最終的數據網格。 –

回答

0

您好,如果您有多個數據源,您可以使用哪些數據源列表中,您要綁定到你的GridView

在這種情況下的條件,你可以使用動態列表,您的數據源在運行時動態地綁定你如果您的數據字段名稱相同,那麼標題字段相同,那麼動態列表對您來說是完美的。

我不知道,如果你使用的BoundFieldtemplatefield或直接綁定數據源 由於你沒有發佈您的代碼我張貼的樣本代碼,您希望您可以通過這個

//Suppose YOur Lists are List1 and List2 then 

If(Condition1==true) 
{ 
List1 // Your datasource list 
List<dynamic> data = new List<dynamic>(); 
foreach(var data in List1) 
{ 
data.Add(new { 
Name =data.Name, 
Address = data.Address 
}); 
    } 

GridView1.DataSource = data 
GridView1.DataBind(); 
} 

///For Condition 2 

If(Condition2==true) 
{ 
List2 // Your second datasource list 
List<dynamic> data = new List<dynamic>(); 
foreach(var data in List2){ 
data.Add(new { 
Name =data.Name, 
Address = data.Address 
}); 
} 
GridView1.DataSource = data 
GridView1.DataBind(); 
} 
0

創建一箇中間變量來保存合併的數據,然後將檢索到的數據(從兩個選擇方法中獲取),然後將該變量值分配給顯示網格*.DataSource,然後調用*.DataBind();方法。

P.S.確保在合併兩個源時使用相同的模式,否則你將不得不循環每一組結果以提取它並手動合併到另一組中,以使你的新標準模式在GridView中呈現。

+0

感謝您的建議。你有關於這個或任何鏈接的想法的任何代碼。 –

+0

你可以分享你的代碼塊,我們將直接在上面工作。 或這裏是一個例子: 假設你的兩個函數都返回列表... ' var result = new List (); (item); foreach(YourFirstFunction()中的var項) result.add(item); (item); foreach(YourSecondFunction()中的var項) result.add(item); yourGridView.DataSource = result; yourGridView.DataBind(); ' – aelagawy

相關問題