2010-10-20 3 views
2

J'ai une table HTML qui est construite avec un répéteur. Parfois, la table a 5 lignes, parfois il a 8 lignes.Comment utiliser asp: placeholder à l'intérieur d'un répéteur

Il était facile d'ajouter les lignes d'en-tête.

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

Dans le code derrière j'ai ajouté des contrôles (htmlheadercells) au contentHolder:

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

Lorsque je tente de faire la même chose dans le cas databound pour chaque ligne, je reçois un errormessage qui dit que il n'est pas possible de mettre asp: PlaceHolder à l'intérieur de la rangée. il attend des tablecells.

Quelqu'un at-il une solution pour augmenter le nombre de colonnes dans un répéteur?

Répondre

0

si je comprends votre problème « ajouter des colonnes à la table en fonction de certaines données »:

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

chercher plus loin répéteur imbriqué, il y a beaucoup de contenu ici.

Questions connexes