[英]How to combine multiple lists and use as a GridView datasource
ASP.net:
<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
我想結合三個List並在上面的GridView中顯示它,如下所示:
Name Number Value
John Doe 56 90
James Coon 34 24
如何實現以上目標,所以三列中包含三個不同的標題文本。
最簡單的方法是執行循環(for,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();
創建一個類
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
希望能幫助到你
您可以創建一個DataTable
並將數據放入其中,然后將該表綁定到網格。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.