我只是想将下面的List对象绑定到Grid视图。该列表包含另一个列表。因此,当我绑定数据源时,该列将变为EMPTY。
以下详细信息:
List<Person> Persons = new List<Person>();
public class Person
{
public string Name1;
public string Name2;
public List<string> Address;
public DateTime DateOfBirth;
public string TeamName;
}
我将gridview分配如下:
var data = new List<Persons>();
data = GetData();
GrdPerson.DataSource = data;
GrdPerson.DataBind();
由于我们在数据源中的地址为List<string>
,因此它在页面中显示为空。
我知道地址不包含任何公共财产,因此它是空的。所以我尝试在Master Grid的Address列中使用Gridview。
但是不知道如何一次分配数据源。
答案 0 :(得分:1)
您可以处理gridview的RowDataBound
事件到DataBind内部网格:
protected void GrdPerson_RowDataBound(Object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
Person person = (Person)e.Row.DataItem;
GridView innerGrid = (GridView)e.Row.FindControl("GrdPersonAddresses");
innerGrid.DataSource = person.Address;
innerGrid.DataBind();
}
}