9
votes

HeaderTemplate de répéteur .NET

Y a-t-il un moyen d'accéder au nom d'en-tête de champ d'un répéteur de données de données dans le modèle d'en-tête. Alors instauré de cela ....

                      <HeaderTemplate>
                          <table >
                              <th ></th>
                              <th >Forename</th>
                              <th >Surname</th>
                              <th >work email</th>
                              <th ></th>
                      </HeaderTemplate>

     We get something like this.                 

                      <HeaderTemplate>
                          <table >
                              <th ></th>
                              <th ><%# Eval("Forename").HeaderName%></th>
                              <th ><%# Eval("SureName").HeaderName%></th>
                              <th ><%# Eval("WorkEmail").HeaderName%></th>
                              <th ></th>
                      </HeaderTemplate>


0 commentaires

4 Réponses :


3
votes

Vous ne pouvez pas utiliser le <% #%> Syntaxe dans la chambre headertemplaire car il n'est pas dans un scénario de lignes de données. Vous devriez cependant pouvoir utiliser <% =%> , puis mettre une méthode sur votre page / userControl qui renvoie l'en-tête.


0 commentaires

4
votes

Vous pouvez déplacer l'en-tête de la table dans votre optionTemplate comme ceci: xxx pré>

Bien que cela soit légèrement gaspillé puisque l'en-tête serait lié à chaque rangée (seulement le premier montré). Peut-être serait-il préférable d'utiliser au lieu d'un panneau, mais je ne sais pas comment accéder au conteneur.displayindex dans ce contexte. P>

EDIT: strong> p>

in .NET 4.5 conteneur.displayindex code> ne fonctionne pas; remplacer par conteneur.itemindex code>. p>

Exemple complet: P>

<ItemTemplate>
    <asp:Panel runat="server" Visible='<%# Container.ItemIndex == 0 %>'>
        <tr>
            <th><%# Eval("Forename").HeaderName %></th>
        </tr>
    </asp:Panel>
    <tr>
        <td><%# Eval("Forename") %></td>
    </tr>
</ItemTemplate>


0 commentaires

9
votes

essayer de faire eval ("champ"). Propriété dans le modèle d'en-tête lancerait une exception null.

Je ferais quelque chose comme ça ...

code derrière xxx

markup xxx


0 commentaires

2
votes

Pourquoi n'utilisez-vous pas le type d'élément déjà trouvé dans les répéteurs? XXX


1 commentaires

C'était l'info que je cherchais. Merci!