ComboBox und Sorted - SelectedIndex,SelectdValue

  • C#

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    ComboBox und Sorted - SelectedIndex,SelectdValue

    Hallo,

    ich habe eine ComboBox, deren Liste sortiert werden soll.

    Die Datenquelle (DataTable) sei folgende, erster Eintrag ValueMember, zweiter Eintrag DisplayMember

    {1, "eins"}
    {2, "zwei"}
    {3, "drei"}

    ist die Eigenschaft Sorted bei der CB False, dann kommt das so wie oben angegeben.

    Setze ich Sorted auf True, dann erwarte ich

    {3, "drei"}
    {1, "eins"}
    {2, "zwei"}

    und bei Anwahl des mittleren Eintrages sollte sein
    SelectedIndex -> 2
    SelectedValue -> 1
    SelectedText -> "eins"


    Komischerweise erhalte ich aber
    SelectedIndex -> 2
    SelectedValue -> 2
    SelectedText -> "eins"

    Ist das jetzt ein Feature?? Es sieht so aus, dass nur die Texte sortiert werden, nicht aber die eigentlich dazugehörigen Values.

    Im Moment behelfe ich mir, indem ich schon die Datenquelle (wird aus einer DB gelesen, die Zahl ist der Primärschlüssel) sortiere ("SELECT ID, Bezeichnung FROM Tabelle ORDER BY Bezeichnung") und Sorted bei der CB auf False lasse.

    Aber habe ich da was falsch verstanden bei dem Sorted der CB? Was sollte es für einen Sinn machen, den Wert und die Anzeige unterschiedlich zu sortieren??

    Gruß

    MQ
    verwende eine BindingSource.
    Die hat eine .Sort-Property.
    Ich würde dir auch ein typisiertes Dataset anraten, mit einer typisierten DataTable.
    dann kannste alle diese Einstellungen im FormDesigner abhandeln.

    Combobox.Sort jdfs. sortiert die angezeigten Texte textuell.
    BindingSource hat da bessere Möglichkeiten, du kannst die Sortierspalte angeben, und wenn die numerisch ist, wird auch numerisch sortiert.