【问题标题】:How to bind List<string> to gridview inside another gridview in asp.net如何将 List<string> 绑定到 asp.net 中另一个 gridview 中的 gridview
【发布时间】:2014-08-21 13:36:53
【问题描述】:

我只是想将下面的 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;
}

我将我的网格视图分配如下:

var data = new List<Persons>();
data = GetData();
GrdPerson.DataSource = data;
GrdPerson.DataBind();

由于我们在数据源中有地址为List&lt;string&gt;,因此它在页面中为空。

我知道 Address 不包含任何公共属性,因此它是空的。所以我尝试在主网格的地址列中使用 Gridview。

但不知道如何一次分配数据源。

【问题讨论】:

    标签: c# asp.net gridview


    【解决方案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();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2011-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-05
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 2010-10-04
      相关资源
      最近更新 更多