2

リピーターで構築された HTML テーブルがあります。テーブルに 5 行ある場合もあれば、8 行ある場合もあります。

ヘッダー行を追加するのは簡単でした。

<asp:PlaceHolder runat="server" ID="additionalHeaderColumns" />

コード ビハインドでは、コンテンツ ホルダーにコントロール (htmlheadercells) を追加しました。

Dim tableHeaderCell As New TableHeaderCell()
tableHeaderCell.Text = "Test"
additionalHeaderColumns.Controls.Add(tableHeaderCell)

各行のデータバインド イベントで同じことをしようとすると、行内に asp:PlaceHolder を配置できないことを示すエラー メッセージが表示されます。テーブルセルが必要です。

リピーターの列数を増やす方法を知っている人はいますか?

4

1 に答える 1

0

私があなたの問題を「いくつかのデータに応じてテーブルに列を追加する」と理解している場合:

<asp:Repeater ID="outerRepeater" runat="server">
    <HeaderTemplate>
        <table>
            <tr>
                <td>fixedHeaderCell</td>
                <td>fixedHeaderCell2</td>
                <asp:Repeater ID="innerColumnRepeater" runat="server" DataSource='<%# someFreakySourceFromYourPageOrOuterRepeater %>'>
                    <ItemTemplate>
                        <td>dynHeaderCell</td>
                    </ItemTemplate>
                </asp:Repeater>
            </tr>
    </HeaderTemplate>
    <ItemTemplate>
        <tr>
            <td>fixedContentCell</td>
            <td>fixedContentCell2</td>
            <asp:Repeater ID="innerColumnRepeater" runat="server" DataSource='<%# someFreakySourceFromYourPageOrOuterRepeater %>'>
                <ItemTemplate>
                    <td>dynContentCell</td>
                </ItemTemplate>
            </asp:Repeater>
        </tr>
    </ItemTemplate>
    <FooterTemplate>
        </table>
    </FooterTemplate>
</asp:Repeater>

ネストされたリピーターをさらに探してください。ここにはたくさんのコンテンツがあります。

于 2010-11-09T13:20:05.860 に答える