Frage

Ich habe eine Datenquelle, die datierten Artikel pro Zeile enthält. Diese werden an den Repeater gebunden und nach Datum sortiert. Ich mag jeden Monat als separate Tabelle präsentieren, wenn gemacht, aber ist es eine Möglichkeit, dies mit einem Repeater-Steuerelement zu tun, ohne dass mehrere Repeater haben, dynamisch von dem Server-Seite Code hinzugefügt?

Im Idealfall würde Ich mag die folgende:

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           |
-------------------------------|
War es hilfreich?

Lösung

Sie können Platzhalter Kontrollen im ItemTemplate verwenden, um die Wiederholung goup Kopf- und Fußzeilen zu enthalten. Dann stellen Sie die Sichtbarkeit der Platzhalter in der OnItemDataBound oder OnItemCreated Event-Handler auf der Grundlage der Termine. Wie folgt aus:

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

Andere Tipps

Ihre Beispieldaten und die Ausgabe nicht überein, aber ich glaube, ich weiß, was Sie hier wollen.

Ich würde dies einen Satz von Daten zu erhalten, erarbeiten in den Hauptverstärker zu binden, würde dies Ihre „9. Dezember“ und „10. Januar“ Daten. Innerhalb der Elementvorlage eines anderen Repeater, einmal definiert, und verwenden Sie einfach die „OnDataBound“ Ereignisdaten an den zweiten Repeater zu laden.

Es ist einfach, effektiv und einfach zu verwalten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top