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
如何实现上述目标,因此有三个列有三个不同的标题文本。
答案 0 :(得分:2)
简单的方法是做一个循环(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();
答案 1 :(得分: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
希望有所帮助
答案 2 :(得分:0)
您可以创建DataTable
并将数据放入其中,然后将表格绑定到网格中。