Я просто хотел связать приведенный ниже объект List с представлением Grid. Этот список содержит другой список. Поэтому, когда я привязываю источник данных, этот столбец идет как ПУСТОЙ.
Подробности ниже:
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>
в источнике данных, он становится пустым на странице.
Я знаю, что адрес не содержит никакого публичного имущества, поэтому он приходит как пустой. Поэтому я попытался использовать Gridview в столбце Address главной сетки.
Но не знаю, как назначить источник данных за раз.
Вы можете обработать событие 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();
}
}