Как привязать List <string> к gridview внутри другого gridview в asp.net

1

Я просто хотел связать приведенный ниже объект 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

1 ответ

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();
    }
}
  • 1
    Большое спасибо. Оно работает.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню