Announcement

Collapse
No announcement yet.

DataGridView Sortierung ausschalten

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DataGridView Sortierung ausschalten

    Hi!
    Ich bekomme es einfach nicht hin, dass wenn ich meine Daten aus der DB auslese und in mein DataGridView einlese, diese die ursprüngliche Reihenfolge (wie sie in der DB stehen) behalten.
    Bislang habe ich versucht, die automatische Sortierung auszuschalten
    Code:
    this.dataGridViewOutput.AutoGenerateColumns = false;
    und den Indizes Namen zu geben um sie danach zu sortieren.
    Leider ohne Erfolg...

    Wie gehts denn richtig?

    Gruß

  • #2
    Daten in der Datenbank sind generell unsortiert. Eine richtige Reihenfolge ergibt sich nur durch explizite Sortierung der Daten. Ansonsten ist es Zufall und der Datenbank überlassen an welcher Stelle welcher Datensatz steht.

    Comment


    • #3
      Hallo,

      AutoGenerateColumns hat wie der Name auch suggerieren sollte nichts mit Sortierung zu tun, sondern es gibt an ob die Spalten automatisch vom gebunden Model generiert werden sollen.

      Wenn du die Daten wie in der DB "sortiert" anzeigen willst dann vergib in der DB eine AutoWert für die Zeilen und sortiere im DGV nach diesem. So wie fanderlf auch angemerkt hat.


      mfG Gü
      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

      Comment


      • #4
        Naja wenn man nur ein SELECT macht sind sie ja nicht mal nach dem AutoWert sortiert meistens einfach rein willkürlich

        Comment


        • #5
          Hallo Florian,

          deshalb hab ich ja geschrieben nach dem Autowert sortieren.
          Allerdings könnte diese Sortierung auch in der DB-Query erfolgen und nicht unbedingt erst im DGV wie in ich meiner obigen Antwort geschrieben habe.


          mfG Gü
          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

          Comment


          • #6
            Hi,
            ich glaub ich hab mich falsch ausgedrückt.
            Mir geht es nämlich nicht um die Reihenfolge der Datensätze, sonderum allein um die Reihenfolge der Spalten.

            Gruß

            Comment


            • #7
              Hallo,

              dann werden sie mit AutoGenerateColumns so wie in der DB hinterlegt auch generiert.


              mfG Gü
              "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

              Comment


              • #8
                Oh man...Fehler gefunden!
                Ich hab AutoGenerateColumns fälschlicherweise = false gesetzt.
                Danke für die Mithilfe.

                Gruß

                Comment


                • #9
                  Okay, jetzt war ich etwas voreilig, es funktioniert doch noch nicht.
                  Setze ich AutoGenerateColumns = false, bekomme ich gar keine Ausgabe, setze ich es true, bekomme ich eine willkürliche Reihenfolge der Spalten.

                  Comment


                  • #10
                    Warum gibst du denn die Reihenfolge der Spalten nicht einfach vor? Dann ists überhaupt kein Problem. Ich würde auch nie die anzeige Reihenfolge der Spalten in der DB abbilden

                    Comment


                    • #11
                      Und wie gebe ich sie vor? Weil ich dachte hier an sowas:
                      Code:
                      this.dataGridView.Columns[0].Name = "Spaltenname1";
                      Im Grunde möchte ich hier einer bestimmten Spalte einen Spaltentitel zuweisen und das dann für die restlichen Spalten auch machen...was jedoch nicht stimmt.

                      Comment


                      • #12
                        Hallo,

                        schau dir mal Datenbindung an - du wirst Freude daran haben

                        Datenquelle hinzufügen -> auf Form ziehen -> bearbeiten -> Quick & maybe Dirty Lösung


                        mfG Gü
                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand". - Martin Fowler

                        Comment


                        • #13
                          maybe Dirty
                          Kein Unsicherheiten aufkommen lassen Nur weil ein Designer der IDE beteiligt ist macht es das nicht dirty.

                          Ist ein klares Quick&Clean.

                          Comment


                          • #14
                            Originally posted by Ralf Jansen View Post
                            Kein Unsicherheiten aufkommen lassen Nur weil ein Designer der IDE beteiligt ist macht es das nicht dirty.

                            Ist ein klares Quick&Clean.
                            Solange man da nicht noch irgendwo irgendwelche Logik reinquetscht ist es OK. Ansonsten würd ich von sowas die Finger weg lassen.

                            Comment


                            • #15
                              Solange man da nicht noch irgendwo irgendwelche Logik reinquetscht ist es OK. Ansonsten würd ich von sowas die Finger weg lassen.
                              Wenn man etwas falsch macht, also z.b. GUI und Logik vermischen, ist es glaub ich egal wie man es falsch macht

                              Comment

                              Working...
                              X