数据集,父/子表关系和Gridview控件

时间:2009-07-14 01:05:57

标签: c# gridview dataset

我有一个名为Publication的父表和一个名为Owner的子表。这两个(数据)表包含在DataSet中(这是所有C#的东西)并且具有已定义的关系。一份出版物可以拥有多个所有者。

我正在使用GridView控件,我的问题是,如何让子表中的信息显示在gridview控件中? gridview链接到主数据集。

我已经阅读了这里的信息,但令人讨厌的是将内容写入控制台并不是很有用!

http://msdn.microsoft.com/en-us/library/d6s958d6(VS.80).aspx

谢谢R.

2 个答案:

答案 0 :(得分:1)

您是否希望子信息覆盖父网格中的内容,显示为父行下的嵌套行,或最简单的方式,在该网格下方显示另一个网格,然后选择父网格行,填充底部网格与子集信息?

查看http://www.asp.net/learn/data-access/tutorial-10-cs.aspx

不要在详细信息视图中粘贴信息,只需使用另一个gridview即可。澄清你想要的输出,我或许可以指出你更好的方向。

更新: 我相信这篇包含详细代码的文章将为您提供您正在寻找的内容,尽管可能有更简单的方法或更优雅的解决方案,这至少可以让您立即开始运行。

http://www.aspboy.com/Categories/GridArticles/Hierarchical_GridView_With_Clickable_Rows.aspx

答案 1 :(得分:0)

如果你想在同一个gridview中使用它,你必须在列中显示它...列集合中的模板字段如何在数据绑定上调用一些代码来查找根据id的id记录的子记录出版物:

<Columns>

        <asp:TemplateField HeaderText="Description" SortExpression="Description">
            <ItemTemplate>
            <%# GetChildRowRepresentation((int)Eval("Id")) %>
            </ItemTemplate>
        </asp:TemplateField> 

</Columns>



protected string GetChildRowRepresentation(int id)
{
    //look up the data set, return the appropriate info
}

转发器可能比gridview更好,因为它们更适合使用自定义布局。