Sortierung der Daten nicht korrekt



  • Hallo zusammen 🙂

    Ich habe eine einfach Datenabfrage:

    var query = from c in customers
    	    join o in orders on c.ID equals o.ID
    	    orderby c.CustomerNumber
                select new Orders
    		{ 
    			Name = c.Name,
    			Product = o.Product
    		};
    
    return query.ToList();
    

    Binde ich nun diese Abfrage als DataSource an eine Liste, so erhalte ich bei der Ausgabe die Daten nicht sortiert nach der CustomerNumber wie in der Abfrage, sondern sortiert nach der Id in der Tabelle customers.
    Weshalb wird mein orderby einfach ignoriert??



  • Was meinst du mit "Liste"? Evtl. sortiert das anzeigende Steuerelement die Daten?



  • Die Abfrage übergebe ich an eine Liste, diese an eine BindingSource und das ganze an eine DataGridView.

    List<Orders> lstOrders = DB.GetOrders();    
    bsOrders.DataSource = lstOrders;
    dgOrders.DataSource = bsOrders;
    

    Beim Aufrufen der Form habe ich für die DataGridView SortMode versucht auf NotSortable zu setzen, was aber nichts ändert.

    foreach (DataGridViewColumn column in dgOrders.Columns)
                {
                    column.SortMode = DataGridViewColumnSortMode.NotSortable;
                }
    

    Es wird weiterhin in der Reihenfolge der ID, also die Reihenfolge wie die Datensätze in die Tabelle gelangt sind, sortiert, nicht nach meinem Wunschkriterium. 😞



  • Hast du denn schon per Debugger überprüft, ob die Liste wirklich sortiert nach CustomerNumber ist? Und auf welche Quelle (DB) führst du die Query aus?


Anmelden zum Antworten