vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Filtern mehrer Comboboxen 
Autor: Rise_Against
Datum: 26.06.12 13:09

Hi zusammen,

ich habe schon wieder ein Anliegen, allerdings bin ich mir nicht sicher, ob ich das innerhalb meines Programmes, oder in der Datenbank lösen soll.
Frontend ist natürlich VB.net, Backend SQL 2008

Folgendes:

Ich habe ein Datagridview mit 6 Spalten und für jede Spalte eine Combobox, die die selben Daten enthält wie die dazugehörige Spalte aus dem Datagrid.
Darin sind verschiedene Daten, wie Nachname Vorname etc. gespeichert.

Um die Ergebnisse in der Tabelle zu filtern, kann man eben in den Comboboxen etwas suchen und dabei wird schon eine Vorschau der möglichen gefilterten Ergebnisse angezeigt.

Soweit so gut, jetzt will ich die 6 Comboboxen verknüpfen, damit ich, nachdem ich irgendwo einen Wert eingegeben habe, nur noch die möglichen Ergebnisse angezeigt bekomme.

Ich möchte es möglichst "offline" aufbauen, damit ich nicht zu viele Datenbankanfragen habe, es müssten ja sonst bei jedem eingegebenen Zeichen, alle Comboboxen aktualisiert und gefiltert werden.

Ich habe mal einen Ansatz, der aber nicht recht funktionieren will, damit kann ich maximal zwei Comboboxen so filtern...


Ich hoffe ihr könnt mir helfen!

Danke und viele Grüße!




Hier noch etwas Code...

  Private Sub cmbox_lastname_TextChanged(ByVal sender As System.Object, ByVal e _
    As System.EventArgs) Handles cmbox_lastname.TextChanged
        If cmbox_firstname.Text.Length = 0 Then
            Get_SelectionList_Vorname()
        End If
        If cmbox_department.Text.Length = 0 Then
            Get_SelectionList_Department()
        End If
        If cmbox_office.Text.Length = 0 Then
            Get_SelectionList_Office()
        End If
        If cmbox_manager.Text.Length = 0 Then
            Get_SelectionList_Manager()
        End If
        If cmbox_businesscategory.Text.Length = 0 Then
            Get_SelectionList_BusinessCategory()
        End If
    End Sub
 
 
    Private Sub Get_SelectionList_Nachname()
        Dim query_Nachname = From user_list In ds_all_unfiltered.Tables( _
          "userlist").AsEnumerable()
                             Where user_list!Nachname <> "" _
                             And user_list.Field(Of String)("Nachname").ToUpper( _
                             ).StartsWith(cmbox_lastname.Text.ToUpper()) _
                             Order By user_list!Vorname
                             Select user_list!Vorname Distinct
        Dim array_Vorname As Array = query_Vorname.ToArray()
        Dim array_Vorname1 As ArrayList = New ArrayList()
        array_Vorname1.Add("")
        array_Vorname1.AddRange(array_Vorname)
        cmbox_firstname.DataSource = array_Vorname1
        cmbox_firstname.DisplayMember = array_Vorname1.ToString()
    End Sub
 
    Private Sub Get_SelectionList_Vorname()
        Dim query_Vorname = From user_list In ds_all_unfiltered.Tables( _
          "userlist").AsEnumerable()
                             Where user_list!Vorname <> "" _
                             And user_list.Field(Of String)("Nachname").ToUpper( _
                             ).StartsWith(cmbox_lastname.Text.ToUpper()) _
                             Order By user_list!Vorname
                             Select user_list!Vorname Distinct
        Dim array_Vorname As Array = query_Vorname.ToArray()
        Dim array_Vorname1 As ArrayList = New ArrayList()
        array_Vorname1.Add("")
        array_Vorname1.AddRange(array_Vorname)
        cmbox_firstname.DataSource = array_Vorname1
        cmbox_firstname.DisplayMember = array_Vorname1.ToString()
    End Sub
 
    Private Sub Get_SelectionList_Department()
        Dim query_Vorname = From user_list In ds_all_unfiltered.Tables( _
          "userlist").AsEnumerable()
                             Where user_list!Vorname <> "" _
                             And user_list.Field(Of String)("Nachname").ToUpper( _
                             ).StartsWith(cmbox_lastname.Text.ToUpper()) _
                             Order By user_list!Vorname
                             Select user_list!Vorname Distinct
        Dim array_Vorname As Array = query_Vorname.ToArray()
        Dim array_Vorname1 As ArrayList = New ArrayList()
        array_Vorname1.Add("")
        array_Vorname1.AddRange(array_Vorname)
        cmbox_firstname.DataSource = array_Vorname1
        cmbox_firstname.DisplayMember = array_Vorname1.ToString()
    End Sub
 
    End Sub

_________________________________________________________________________________

Systemintegrator der Spa? am Programmieren gefunden hat!
Bitte nicht hauen, wenn ich etwas Falsches, oder Quatsch von mir gebe ;)

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Filtern mehrer Comboboxen982Rise_Against26.06.12 13:09
Re: Filtern mehrer Comboboxen579xirton26.06.12 22:49
Re: Filtern mehrer Comboboxen587Rise_Against27.06.12 07:19

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel