0

データソースを GridView のカスタム コントロールにバインドする方法

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" >
    <Columns>
        <asp:TemplateField >
            <ItemTemplate>
                <uc1:DVDBox ID="DVDBox1" runat="server" />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField >
            <ItemTemplate>
                <uc1:DVDBox ID="DVDBox2" runat="server" />
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField >
            <ItemTemplate>
                <uc1:DVDBox ID="DVDBox3" runat="server" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

私はそれを通常の方法でバインドしようとしています

        GridView1.DataSource = Results;
        GridView1.DataBind();

しかし、うまくいきません!

レンダリングするデータを取得するために、カスタム コントロールの各オカレンスの各要素に対処する必要がありますか?それとも何か不足していますか?

4

1 に答える 1

0

OK、私は自分でこれに答えなければなりませんでした。

というわけで今後の参考までに。

        <asp:TemplateField>
        <ItemTemplate>
        <uc1:DVDBox ID="DVDBox1" runat="server" 
                    controlNameInCustomControl='<%# Bind("NameOfColumnOnSource") %>'
                    />
        </ItemTemplate>
        </asp:TemplateField>

ここで、同じカスタム コントロールを持ついくつかの GridView 列に対してこれを繰り返す必要があります。

于 2013-04-10T13:07:58.610 に答える