【发布时间】:2011-09-21 15:03:12
【问题描述】:
我有这样的课:
public class ApplicationInformation
{
public string ApplicationName { get; set; }
public List<UserInformation> Users { get; set; }
}
我想在 DataGrid 中显示 List<ApplicationInformation>。所以我尝试了这个:
.aspx:
<asp:DataGrid ID="tbl" runat="server">
</asp:DataGrid>
.aspx.cs:
protected void Page_Load(object sender, EventArgs e)
{
tbl.DataSource = Global.Data;
tbl.DataBind();
}
但该表只有一个标题为ApplicationName 的列。我希望ApplicationInformation 和UserInformation 中的每个属性都有一个列,List<ApplicationInformation> 列表中的每个UserInformation 都有一个单独的行。
我希望这是有道理的......
我研究了一些模板,但不知道该怎么做。我想我总是可以遍历所有内容并使用我需要的所有数据创建一个单独的数组,但我必须创建另一个类,这似乎不是最好的方法。
编辑
例如,如果我有这样的List<ApplicationInformation>:
{
{ ApplicationInformation
ApplicationName = "App 1"
{ UserInformation
UserName = "John Smith"
ApplicationHost = "JOHN-PC"
}
{ UserInformation
UserName = "Mindy from the network"
ApplicationHost = "MINDY-PC"
}
}
{ ApplicationInformation
ApplicationName = "App 2"
{ UserInformation
UserName = "John Smith"
ApplicationHost = "JOHN-PC"
}
{ UserInformation
UserName = "Bob Jones"
ApplicationHost = "BOB-PC"
}
}
}
然后我希望表格看起来像这样:
Application Name | User Name | Application Host
-------------------------------------------------------
App 1 | John Smith | JOHN-PC
App 1 | Mindy fro...| MINDY-PC
App 2 | John Smmith | JOHN-PC
App 2 | Bob Jones | BOB-PC
【问题讨论】: