Как использовать asp: заполнитель внутри ретранслятора - PullRequest
2 голосов
/ 20 октября 2010

У меня есть HTML-таблица, построенная с использованием повторителя Иногда в таблице 5 строк, иногда 8 строк.

Было легко добавить строки заголовка.

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

В коде позади я добавил элементы управления (htmlheadercells) к держателю контента:

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

Когда я пытаюсь сделать то же самое в событии с привязкой к данным для каждой строки, я получаю сообщение об ошибке, в котором говорится, что невозможно поместить asp: PlaceHolder в строку. он ожидает табличных ячеек.

У кого-нибудь есть решение, как увеличить количество столбцов в повторителе?

1 Ответ

0 голосов
/ 09 ноября 2010

если я понимаю вашу проблему как "добавление столбцов в таблицу в зависимости от некоторых данных":

<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>

ищите далее вложенный повторитель, здесь много контента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...