如何组合多个列表并用作GridView数据源
ASP.net:
代码隐藏:
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 lstName = new List (); List lstCMSID = new List (); List lstSpecialtyPhys = new List (); 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
并将数据放入其中,然后将表绑定到网格。
- 内存映射文件.NET
- 如何在Asp.net中回发后维护标签的价值?
- 如何在Visual Studio中添加SQL Server数据库文件(.mdf)而不安装SQL Server Express Edition?
- 在ASP.NET中创建文件夹并将图像上传到该文件夹的最佳方法?
- 以只读方式读取HttpRuntime.Cache项
- asp.net中的办公自动化问题。 如果我知道如何,我可以使用开放式办公室等替代方案
- 尝试激活’AuthController’时无法解析类型’Microsoft.AspNetCore.Identity.UserManager`的服务
- Sql Server 2005插入查询中的单引号和双引号
- 需要通用实用程序C#方法来填充ASP.NET DropDownList