asp:repeater - Header in dem Abschnitt ändern
gibt es eine Möglichkeit, um ein subheader Reihe an änderungen in einem Feld in einer datengebundene asp:repeater-Steuerelement z.B.
Statt
Land | Farbe | Anzahl uk | rot | 3 uk | green | 3 Frankreich | rot 3
Hierzu:
==UK== Farbe | Anzahl rot | 3 grün 3 ==FRANKREICH== Farbe | Anzahl rot | 3
Vielen Dank für jede Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keine integrierte Unterstützung, aber das bedeutet nicht, es ist unmöglich.
Müssen Sie over-ride die OnItemDataBound Ereignis, und so etwas wie diese im markup:
Dann in der code-behind:
Andere Lösung ist es, einfach zwei Repeater, einen in das andere verschachtelt. Sie können übergeben Sie Ihre Gruppen mit den child-Datensätzen zu dem ersten repeater, und auf das ItemDataBound-der Gruppen-repeater, vorbei an der Kind-Datensätze für das untergeordnete Element repeater-und Aufruf von DataBind() gibt.
Dies ist mehr code, aber tatsächlich erhalten Sie mehr Kontrolle über das layout ohne HTML-Erstellung-code im code-behind.
Wie Sie hier sehen können, haben wir eine Eltern-repeater und in der Artikel-Vorlage individuell anzupassen, jede Gruppe, wie wir sehen, passen. In der ChildRepeater, haben wir unsere Artikel Vorlage, in dem wir anpassen können jedes Element innerhalb der Gruppierung. Sehr sauber und alle mit deklarativen UI.
In der code-behind-wir haben so etwas wie dieses:
Nach der Bindung jedes Kind, für das Sie abonnieren können, um das ItemDataBound-Ereignis und tun dem Kind die Bindung an Steuerelemente wie Sie sehen, passen.
Zu joel Lösung, ich kann Rat folgenden als - ändern Sie diese Zeile:
zu
Und als Sie können anpassen, look & feel aus .wie?x-Datei.
Ah - du bist nach einer Gruppierung repeater. Die Lösung, dass habe ich angepasst, in der Vergangenheit scheint verschwunden zu sein. Vielleicht können Sie es finden. Aber trotzdem, eine Suche für die Gruppierung der Repeater sollte helfen.
Es gibt anscheinend ein paar bugs in der dotnetjunkies code, aber ich habe eine viel einfachere Lösung hier http://www.west-wind.com/weblog/posts/140753.aspx
Nun Repeater nicht unterstützt gruppieren, so müssen Sie dies auf Ihre eigene, aber es ist ziemlich einfach zu tun. Im repeater über die folgenden Daten-expression ist verantwortlich für die Gruppierung:
Der Ausdruck ruft eine Methode auf dem Formular zu Rendern, ein zusätzliches div-tag. Der code für diese einfache Methode sieht wie folgt aus:
Dieser code aufgerufen wird, wird für jedes Element, und es wird einfach geprüft, um zu sehen, wenn die Gruppe geändert hat. Wenn es nicht nichts zurückgegeben, ansonsten ein einfaches div-tag zurück, wie eine Zeichenfolge zum einbetten in das markup. Ich wählte zurück zu senden, die HTML, aber ich nehme an, man könnte auch true oder false zurück und bedingt Rendern eines Steuerelements in die Repeater, die die CSS-Nazis glücklicher .