Announcement

Collapse
No announcement yet.

DataGridView filtern

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

  • DataGridView filtern

    Hallo zusammen

    Erst mal: Ich bin absoluter Anfänger, daher bitte ich um Entschuldigung, wenn ich etwas Dummes frage, oder eine Antwort nicht beim ersten Mal verstehe.

    Nun zu einer meiner Fragen:

    Ich bin daran, mit Visual Basic 2008 Express ein kleines Programm zu erstellen.
    Die Anwendung beinhaltet ein paar Eingabefelder, die eine Berechnung (also eine Zahl) in ein nicht editierbares Textfeld ausgeben. Soweit so gut.
    Zusätzlich habe ich ein Datagridview, das die Daten einer lokalen Access-Datenbank (nur Tabellen) anzeigt.
    Wie kann ich nun das DataGridView so filtern lassen, dass nur die Reihen angezeigt werden, deren Wert in einer column kleiner oder gleich wie der Wert im Textfeld sind?

    ich wäre über Hilfe sehr dankbar.

    Liebe Grüsse
    Cookbook
    Zuletzt editiert von cookbook; 11.02.2010, 13:43.

  • #2
    Entweder

    a.) Das SQL Richtung Datenbank so anpassen das nur eine entsprechend gefilterte Menge aus der Datenbank kommt.

    b.) Die DataView über die die DataTable an das DataGridView gebunden ist entsprechend filtern(RowFilter Property).

    c.) Wenn du eine BindingSource zwischen DataTable und DataGridView hast diese entsprechend filtern(Filter Property).

    oder eine der n anderen Möglichkeiten dir mir gerade nicht einfallen.

    Comment


    • #3
      Hallo und willkommen,

      bitte achte genau auf die Formulierungen: DataGridView ist etwas Eigenes...

      Zum Sortieren und Filtern wird üblicherweise nicht das Control verwendet, sondern die dahinterliegende Datenmenge (hier wahrscheinlich/hoffentlich DataTable). Dafür kann die DefaultView oder eine spezielle DataView mit Sort bzw. RowFilter verwendet werden. Die genauen Erläuterungen zum Aufbau der Filter-Anweisung stehen unter DataColumn.Expression.

      Mehr Informationen und auch Beispiele findest du zu den genannten Stichworten in der SDK-Doku/MSDN/Hilfe.

      Gruß Jürgen

      Comment


      • #4
        Hallo zusammen

        Danke für die Hilfe.
        Also:
        Ja die Datenmenge ist als DataTable gebunden. Aber was ich nicht verstehe: Ich habe ein DataGridView ins Formular eingebunden, und dann diese mit der Datenmenge gekoppelt. Automatisch erstellte das Programm dann eine bindingsource.

        Ich habe schon versucht, über RowFilter, die View zu filtern, aber ich bekomme die Syntax nicht hin, bzw. es stimmt immer irgendetwas nicht.

        Ich habe auch schon andere Filtermethoden versucht, aber ich blicke einfach noch nicht genug durch, um das ins laufen zu bekommen.

        die MSDN-Hilfe habe ich auch schon abgeklappert, aber ich werde nicht richtig schlau daraus.

        Einen Beispiel Code wäre sehr hilfreich.

        Danke und liebe Grüsse
        Cookbook

        Comment


        • #5
          [Highlight=VB.Net]meineBindingSource.Filter = "meinDatenbankFeld <= " + meineTextBox.Text[/Highlight]

          Der Filter Syntax enstpricht etwa dem was in der Where Clause in SQL stehen kann. Details findest du in der von Jürgen erwähnten Doku.

          Comment


          • #6
            Danke Ralf

            Jetzt bekomme aber einen Error:
            Syntax error: Missing operand after '<=' operator.

            Wie soll die syntax denn aussehen?

            Grüsse
            Cookbook

            Comment


            • #7
              Die Syntax sollte richtig sein. Es ist aber nur die Syntax. Fehlerhandling mußt du schon selber machen. Also z.B wenn deine Textbox leer ist wird das knallen weil das dann keinen gültigen Filterstring ergibt (Mal ungeachtet davon das es dann auch keinen Sinn macht dann filtern zu wollen).
              Zuletzt editiert von Ralf Jansen; 11.02.2010, 18:31. Reason: "Der Syntax durch Die Syntax durch Jürgen ersetzt" - Dabei hat mein Browser eine Rechtschreibprüfung! Drecksteil;)

              Comment


              • #8
                Ja, das wars,
                Da die andere Berechnung das Textfeld speist und dies beides auf den gleichen Click-event stattfindet, also gleichzeitig, ist das feld noch leer, wenn es filtern sollte...

                danke vielmals...es klappt jetzt

                Ihr werdet mir noch bei ein paar Punkten helfen müssen....

                Liebe Grüsse
                Cookbook

                Comment


                • #9
                  Diese dann bitte in einem neuen Thread aufmachen und nicht mehr hier posten der Übersichtlichkeit wegen.

                  Danke

                  Comment


                  • #10
                    ja, das ist klar

                    LIebe Grüssse
                    Cookbook

                    Comment

                    Working...
                    X