Question

J'ai une source de données qui contient des éléments datés par ligne. Ceux-ci seront liés au répéteur et ordonnés par date. J'aimerais présenter chaque mois sous forme de tableau séparé lors du rendu, mais existe-t-il un moyen de le faire avec un contrôle de répéteur sans avoir à ajouter plusieurs répéteurs de manière dynamique à partir du code côté serveur?

Idéalement, j'aimerais connaître les éléments suivants:

Examples Data:

Row 1: Title 1, 01/12/2009
Row 2: Title 1, 02/12/2009
Row 1: Title 1, 01/01/2010
Row 1: Title 1, 02/01/2009

Required output:

Dec 09
-------------------------------
Title  |  Date                 |
-------------------------------|
Title1 |  01/12/2009           |
-------------------------------|
Title2 |  02/12/2010           |
-------------------------------|

Jan 10
-------------------------------
Title  |  Date                 |
-------------------------------|
Title1 |  01/01/2010           |
-------------------------------|
Title2 |  02/01/2010           |
-------------------------------|
Était-ce utile?

La solution

Vous pouvez utiliser les contrôles PlaceHolder dans ItemTemplate pour contenir les en-têtes et les pieds de page de groupe répétés. Définissez ensuite la visibilité des PlaceHolders dans les gestionnaires d'événements OnItemDataBound ou OnItemCreated en fonction des dates. Comme ceci:

<ItemTemplate>

<asp:PlaceHolder id="table_end" visible="<%# _newMonthStarting && (!_firstMonth) %>" runat="server">
  </table>
</asp:PlaceHolder>

<asp:PlaceHolder id="table_end" visible="<%# _newMonthStarting %>" runat="server">
  <div><%# _monthHeader</div>
  <table>
    <tr>
      <th>Title</th>      
      <th>Date</th>      
    </tr>
</asp:PlaceHolder>
  <tr>
    <td><!-- data --></td>
    <td><!-- data --></td>
  </tr>
</ItemTemplate>

<FooterTemplate>
   </table>
</FooterTemplate>

Autres conseils

Vos données d'exemple et votre sortie ne correspondent pas, mais je pense savoir ce que vous allez faire ici.

Je voudrais résoudre ce problème pour obtenir 1 ensemble de données à associer au répéteur principal, ce serait votre "Dec 09". et " Jan 10 " Les données. À l’intérieur du modèle d’élément, un autre répéteur, défini une fois, est utilisé et il suffit d’utiliser le paramètre "OnDataBound". événement pour charger des données sur le deuxième répéteur.

C’est simple, efficace et facile à gérer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top