none
Repeater und <HR> einfügen? RRS feed

  • Frage

  • Hi, ich habe ein blödes Problem, wo ich vermute das es nicht gehen wird. Ich zeige in einem Repeater eine nach Alphabet sortierte Namensliste an.
    Gibt es jetzt irgendwie eine Möglichkeit nach jedem Buchstabenwechsel eine Trennlinie oder was anderes anzuzeigen?
    Also
    Meyer
    Meyer
    Meyer
    ---------------------
    Müller
    Müller
    --------------------
    Schmidt

    Gruss

    Dienstag, 2. November 2010 07:29

Antworten

  • Hi,
    Gibt es jetzt irgendwie eine Möglichkeit nach jedem Buchstabenwechsel eine Trennlinie oder was anderes anzuzeigen?

    dafür würde ich mit eine Variable auf Klassenebene anlegen (bspw. Private LastName As String) und diese dann in einer entsprechenden Methode prüfen, ggfs. neu zuweisen und <hr /> ausgeben.

    Dafür gibt es mehrere Möglichkeiten. Eine wäre, eine Methode wie folgt einzubauen ...

    Public Function InsertHR( ByVal Name As String ) As Boolean

    If Name <> Me.LastName Then
    Me.LastName = Name
    Return True
    Else
    Return False
    End if

    End Function

    ... und diese dann im Repeater wie folgt zu nutzen:

    <ItemTemplate>
      ...
      <hr runat="server" visible="<%# InsertHR( Container.DataItem.Name ) %>" />
    </ItemTemplate>
    
    

    Per Code könnte man ins ItemDataBound Event des Repeaters eingreifen und dort dann dasselbe machen (also bspw. ein LiteralControl mit <hr /> als Text einfügen.

     

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Dienstag, 2. November 2010 07:55
    Moderator

Alle Antworten

  • Hi,
    Gibt es jetzt irgendwie eine Möglichkeit nach jedem Buchstabenwechsel eine Trennlinie oder was anderes anzuzeigen?

    dafür würde ich mit eine Variable auf Klassenebene anlegen (bspw. Private LastName As String) und diese dann in einer entsprechenden Methode prüfen, ggfs. neu zuweisen und <hr /> ausgeben.

    Dafür gibt es mehrere Möglichkeiten. Eine wäre, eine Methode wie folgt einzubauen ...

    Public Function InsertHR( ByVal Name As String ) As Boolean

    If Name <> Me.LastName Then
    Me.LastName = Name
    Return True
    Else
    Return False
    End if

    End Function

    ... und diese dann im Repeater wie folgt zu nutzen:

    <ItemTemplate>
      ...
      <hr runat="server" visible="<%# InsertHR( Container.DataItem.Name ) %>" />
    </ItemTemplate>
    
    

    Per Code könnte man ins ItemDataBound Event des Repeaters eingreifen und dort dann dasselbe machen (also bspw. ein LiteralControl mit <hr /> als Text einfügen.

     

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    Dienstag, 2. November 2010 07:55
    Moderator
  • Hands up .

    Danke das klappt. Habe noch etwas modifiziert, aber der Tip war super. Hätte nicht gedacht das es doch so einfach geht.
    Danke schön

    Dienstag, 2. November 2010 09:46