【问题标题】:Want to bind object within object in grid view. Is this possible?想要在网格视图中绑定对象内的对象。这可能吗?
【发布时间】:2012-02-27 23:01:17
【问题描述】:

我的班级结构是

public class Listings
{
    public string id { get; set; }
    public string title { get; set; }

    public ListingsImages[] images;
}

public class ListingsImages
{ 
    public string src { get; set; }
    public string width { get; set; }
    public string height { get; set; }
    public string alt { get; set; }
    public string num { get; set; }
    public string size { get; set; }
}

我想绑定我的网格视图并且我绑定为

List<Listings> p = getData(); //returns list of Listings
gv.DataSource = p;
gv.DataBind();

我的网格视图代码是

<asp:GridView ID="gv" runat="server" AutoGenerateColumns=false>
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <%# Eval("id") %>
                        &nbsp&nbsp&nbsp&nbsp&nbsp
                        <%# Eval("title") %>
                        &nbsp&nbsp&nbsp&nbsp&nbsp
                        <%# Eval(?????)%>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>

一个列表对象包含 10 张图片!现在的问题是我想显示所有列表对象的第 6 张图片呢?? 我试过了

 <%# Eval("images[5].src")%>

但它给了我错误!请回答我应该是什么解决方案? (只有一个gridview和一个datasource)

【问题讨论】:

  • @PranayRana 我没有尝试过这个'Cz我找到了另一种解决方案,所以我选择了一个顺便说一句谢谢你的回答!我以后会用!

标签: c# asp.net gridview datasource


【解决方案1】:

是的,您可以通过使用网格的RowDataBound() 事件来做到这一点............

protected GridView_RowDataBound(object sender,
  GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
            //e.row.DataItem -- points to data / object which is going to be bind with the row 
     }
}

【讨论】:

  • 请简要说明或任何链接
  • 我认为这没有帮助。数据源本身是 Listings 类,它不是一个集合。图片属性是集合,而不是绑定为数据源的内容。
  • @Rob Levine - 在行数据绑定中,您可以查询,也可以根据我轻松访问数据,在这种情况下他可以完成他想要的任务
猜你喜欢
  • 1970-01-01
  • 2016-12-05
  • 2012-05-27
  • 2019-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多