ASP.net Gridview,代表多对多的最佳方式?

时间:2015-04-02 11:36:47

标签: asp.net vb.net gridview

我正在使用ASP.net / vb.net开发产品。

我需要做的是表示位置与产品的矩阵,并使用复选框网格选择哪些产品在哪些位置可用。

产品通过表格(ProductID,ProductName)和位置(LocationID,LocationName)提供,我有一个多对多表(ID,ProductID,LocationID)。我遇到的问题是如何使用基于单独数据源的动态列和行创建网格视图。

我在这里真的很蠢吗? (实际上,不要回答!)

非常感谢任何帮助。

谢谢,

史蒂夫

2 个答案:

答案 0 :(得分:2)

有两种方法可以做到这一点:

  1. 使用转发器控件

  2. 在数据库端透视表并正常将其绑定到gridview。

答案 1 :(得分:1)

您可以使用嵌套的网格视图:

<asp:GridView ID="Products" runat="server">
    <Columns>
        <asp:BoundField DataField="ProductId" />
        <asp:BoundField DataField="ProductName" />
        <asp:TemplateField>
            <ItemTemplate>
                <asp:GridView ID="Locations" runat="server">
                    <Columns>
                        <asp:BoundField DataField="LocationId" />
                        <asp:BoundField DataField="LocationName" />
                    </Columns>
                </asp:GridView>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

产品gridview有一个TemplateField,里面有gridview Locations。