2017-08-29 1 views
0

Also ich habe diese Listenansicht, und ich möchte es alphabetisch sortieren lassen. Weiß jemand, ob du es kannst? und wenn Sie wissen, wie Sie es tun können, dann zeigen Sie mir den Code. SUCHE NACH HILFE!!Wie sortiere ich meine Listenansicht alphabetisch?

das ist mein Xaml.cs Code:

namespace App2 
{ 
public partial class MainPage : ContentPage 
{ 
    List<Kontakter> kontakter = new List<Kontakter> 
    { 
     new Kontakter 
     { 
     Fuldenavn = "Anja Birkelund (ANBI)", 
     Tlfnr = 24212504 
     }, 
     new Kontakter 
     { 
      Fuldenavn = "Morten Jensen (MOJ)", 
      Tlfnr = 24838149 
     }, 
     new Kontakter 
     { 
      Fuldenavn = "Thomas Duvall Pedersen (TPD)", 
      Tlfnr = 61706767 
     }, 
     new Kontakter 
     { 
      Fuldenavn = "Svend-Erik Dejbjerg (SD)", 
      Tlfnr = 20116644 
     } 
    }; 

    public MainPage() 
    { 
     InitializeComponent(); 

     NameslistView.ItemsSource = kontakter; 
    } 

    private void MainSearchBar_SearchButtonPressed(object sender, EventArgs e) 
    { 
     var keyword = MainSearchBar.Text; 
     NameslistView.ItemsSource = kontakter.Where(obj => (obj.Fuldenavn.Contains(keyword) || obj.Tlfnr.ToString().Contains(keyword))); 
    } 
} 
} 

das ist mein Xmal Code:

<ListView x:Name="NameslistView" HasUnevenRows="True"> 
    <ListView.ItemTemplate> 
     <DataTemplate> 
      <ViewCell> 
       <Label Text="{Binding Fuldenavn}" /> 
       <Label Text="{Binding Tlfnr}" /> 
      </ViewCell> 
     </DataTemplate> 
    </ListView.ItemTemplate> 
</ListView> 

+1

Hey Kristian F, sieh dir das https://stackoverflow.com/questions/3309188/how-to-sort-a-listt-by-a-property-in-the-object – Danieboy

+1

Mögliche Duplikat von [How to Sortieren Sie eine Liste durch eine Eigenschaft im Objekt] (https://stackoverflow.com/questions/3309188/how-to-sort-a-listt-by-a-property-in-the-object) –

Antwort

0

Sie konnten die LINQ Methode OrderBy für diesen Einsatz .

Sortiert die Elemente einer Sequenz in aufsteigender Reihenfolge nach einem Schlüssel .

var sorted = kontakter.OrderBy(x => x.Fuldenavn) 
         .ToList(); 

Haben Sie einen Lese bei 101 LINQ-Samples für weitere Informationen.

EDIT

public MainPage() 
{ 
    InitializeComponent(); 

    //Order the contacts 
    var sorted = kontakter.OrderBy(x => x.Fuldenavn) 
          .ToList(); 

    //Set the ItemsSource with the ordered contacts 
    NameslistView.ItemsSource = sorted; 
} 
+0

where do i in meinen Code einfügen? @Mighty Badaboom –

+0

@KristianF Zum Beispiel: 'NameslistView.ItemsSource = Sortiert;' –

+0

Ich verstehe nicht, was Sie meinen. Kannst du den Code senden, wie er eingestellt werden soll? @Mighty Badaboom –

0

Verwendung Sortieren und bieten Bedingung

kontakter.Sort ((x, y) => x.Fuldenavn [0] .CompareTo (y.Fuldenavn [0]));

wobei [0] den ersten Buchstaben von Fuldenavn darstellt, so dass er in alphabetischer Reihenfolge sortiert wird.

+0

Sie müssen Ihre eigene Vergleichslogik nicht schreiben, wenn LINQs 'OrderBy' das für Sie tut. –

+0

ooh ok Vielen Dank @ MightyBadaboom . –

Verwandte Themen