2015-12-10 72 views
-1

ASP.net:如何將多個列表合併並作爲一個GridView數據源使用

<asp:GridView ID="gvSP" runat="server" AutoGenerateColumns="true"> 
</asp:GridView> 

代碼隱藏:

lstName.Add(lstN[f]); //name 
lstCMSID.Add(lstNum[f]); //number 
lstSpecialtyPhys.Add(data.Text.ToString()); //value 

我想這三個列表上面結合並顯示它GridView,像這樣:

Name      Number    Value 
John Doe     56     90 
James Coon     34     24 

我如何實現上述,所以有三個不同的標題文本。

+0

There's milli網上的例子。你到底是什麼問題? BoundField是一種選擇。 –

+0

我有什麼問題以及我不確定如何將所有三個列表都設置爲一個帶自定義標題文本的GridView? – Si8

+0

從你的列表中創建一個DataTable,並將GridView.DataSource =賦值給你的數據表。一個例子:http://stackoverflow.com/questions/11331388/from-array-to-datatable –

回答

1

簡單的方法是做一個循環(一個爲, foreach等)

 List<dynamic> lstName = new List<dynamic>(); 
     List<dynamic> lstCMSID = new List<dynamic>(); 
     List<dynamic> lstSpecialtyPhys = new List<dynamic>(); 

     lstName.Add("John Doe"); 
     lstCMSID.Add("56"); 
     lstSpecialtyPhys.Add("90"); 

     lstName.Add("James Coon"); 
     lstCMSID.Add("34"); 
     lstSpecialtyPhys.Add("24"); 

     DataTable dt = new DataTable(); 
     dt.Columns.Add("Name"); 
     dt.Columns.Add("Number"); 
     dt.Columns.Add("Value"); 

     for (int i = 0; i < lstName.Count; i++) 
     { 
      dt.Rows.Add(lstName[i], lstCMSID[i], lstSpecialtyPhys[i]); 
     } 

     gvSP.DataSource = dt; 
     gvSP.DataBind(); 
+0

哇多麼簡單和容易。謝謝你謝謝:) +1並接受。 – Si8

0

您可以創建一個DataTable並將數據放入其中,然後將該表綁定到您的網格。

+0

這就是我想要的一些幫助:) – Si8

1

創建一個類爲

private class ABC{ 
string name =""; 
int number=0,val=0; 
    public string name1 { 
    get { return name; } 
    set { name = value; } 
} 
public int number1 { 
    get { return number; } 
    set { number = value; } 
} 
public int value1 { 
    get { return val; } 
    set { val = value; } 
} 
} 

在代碼中添加下面的代碼背後

var source = new BindingSource(); 
ArrayList dataobj = new ArrayList(); 
ABC obj = new ABC(); 
obj.name="Sample" 
obj.number=1 
obj.value=5 
dataobj.add(obj); 
source.DataSource = dataobj; 
DataGrid.DataSource = source; 
DataGrid.Columns(0).Name="Desired Name" // So On for the Rest, to set desired name to the header 

希望它可以幫助

+0

我很困惑如何完成它。 :/ – Si8

+0

困惑?好的沒有問題會幫助是否有可能將您的代碼發送到[email protected] 希望我可以找到解決方案。 –

+0

那麼我發佈了我擁有的三個列表。只需要將其添加到具有自定義列名稱的數據表:) – Si8

相關問題