| |
VB.NET - FortgeschritteneCheckbox-Filter | | | Autor: ERBRU | Datum: 18.10.17 08:03 |
| Hallo zusammen,
habe in meiner DGV Datatable 3 Spalten gefunden, erledigt, ueberführt als CheckBox
nun möchte ich die Konstulationen Filtern:
ich denke das es bei mir falsch ist, da es nicht plausibel gefiltert wird.
wer hat solch ähnliche Filterungen schon mal gemacht? und kann mir helfen?
wenn in einer ColumnTextBox ein Eintrag steht setze ich die Spalte gefunden auf True
wenn diese leer Ist wird Benutzer abgfragt "nicht gefunden" erledigt, in dem Fall setze ich die Spalte erledigt auf True, das gleiche mit der Spalte überführt
Dim fltErledigt As String = String.Empty
'Alle
'abgearbeitet
'nicht abgearbeitet
'nach MAXIMO ueberfuehrt
'Beg: erledigt
Dim col_gefunden = LagerDB.Lagerliste.INMAXIMOColumn.ColumnName
Dim col_abgearbeitet = LagerDB.Lagerliste.abgearbeitetColumn.ColumnName
Dim col_ueberfuehrt = LagerDB.Lagerliste.NACHMAXIMOColumn.ColumnName
Me.Cursor = Cursors.WaitCursor
Select Case cbx_Status_Filter.SelectedIndex
Case 0 : fltErledigt = String.Empty _
_
'Alle
Case 1 : fltErledigt = String.Format("[{0}] = '{1}'", _
col_abgearbeitet, True, String.Format("[{0}] = '{1}'", _
col_gefunden, False)) 'abgearbeitet
Case 2 : fltErledigt = String.Format("[{0}] = '{1}'", _
col_abgearbeitet, False, String.Format("[{0}] = '{1}'", _
col_gefunden, False)) 'nicht abgearbeitet
Case 3 : fltErledigt = String.Format("[{0}] = '{1}'", _
col_ueberfuehrt, True, String.Format("[{0}] = '{1}'", col_gefunden, _
True)) 'nach MAXIMO-Ueberfuehrt
End Select
'End: erledigt
BS_Lagerliste.Filter = fltErledigt
Me.Cursor = Cursors.Default | |
Re: Checkbox-Filter | | | Autor: Manfred X | Datum: 18.10.17 11:22 |
| Hallo!
Ohne zu wissen, was Du wie filtern möchtest, wage ich eine Vermutung:
flterledigt = String.Format("[{0}] = '{1}'", _
col_abgearbeitet, True) & " AND " & String.Format("[{0}] = '{1}'", _
col_gefunden, False) | |
Re: Checkbox-Filter | | | Autor: ERBRU | Datum: 18.10.17 13:35 |
| ach mano, Danke dir mein Freund.
genau was mir gefehlt hat & "AND" & ich bin hiermit AndAlso auf die Nase gefallen.
erledigt | |
Re: Checkbox-Filter | | | Autor: Manfred X | Datum: 18.10.17 14:38 |
| Die Filter-Eigenschaft der Bindingsource kennt keinen
VB-Code. [I]"Die zulässige Filtersyntax hängt von der
zugrundeliegenden Datenquelle ab.
Wenn die Datenquelle (...) eine Datatable ist, können
boolsche Ausdrücke mit der für die Datacolumn.Expression-
Eigenschaft dokumentierten Syntax angegeben werden."[/I] | |
Re: Checkbox-Filter | | | Autor: ERBRU | Datum: 15.11.17 19:47 |
| Hallo ManfredX,
bin ein bisschen am Verzweifeln Sorry das ich dich zu dem Thema noch mal abfrage
der Filter kriegt das bei mir nicht auf die Reihe
Private Sub RadioButton1_Click(sender As Object, e As EventArgs) Handles _
RadioButton1.Click, RadioButton2.Click, RadioButton3.Click, _
RadioButton4.Click
Dim _gefunden As String = String.Empty
Dim _abgearbeitet As String = String.Empty
Dim rad As RadioButton = CType(sender, RadioButton)
Dim col_gefunden = LagerlisteDB.Lagerliste.INMAXIMOColumn.ColumnName
Dim col_abgearbeitet = _
LagerlisteDB.Lagerliste.abgearbeitetColumn.ColumnName
Select Case rad.Name
Case RadioButton1.Name
_gefunden = String.Format("[{0}] = '{1}'", col_gefunden, True)
BS_Lagerliste.Filter = _gefunden
Case RadioButton2.Name
_abgearbeitet = String.Format("[{0}] = '{1}'", _
col_abgearbeitet, True) & " AND " & _
String.Format("[{0}] = '{1}'", _
col_gefunden, True)
BS_Lagerliste.Filter = _abgearbeitet
Case RadioButton3.Name
Case RadioButton4.Name
End Select
End Sub mache ich es so herum, dann stimmt der Wert nicht statt 350 spuckt der Filter nur 348 aus
_abgearbeitet = String.Format("[{0}] = '{1}'", _
col_abgearbeitet, True) & " AND " & _
String.Format("[{0}] = '{1}'", _
col_gefunden, False)
BS_Lagerliste.Filter = _abgearbeitet | |
Re: Checkbox-Filter | | | Autor: Manfred X | Datum: 16.11.17 00:32 |
| Hallo!
Auf Deinen Thumbnails kann ich nichts erkennen.
Das Filtern anhand von BOOL-Spalten ist - wie gezeigt -
eine triviale Angelegenheit.
Der Fehler liegt vermutlich schon hier irgendwo:
[I]Wenn in einer ColumnTextBox ein Eintrag steht,
setze ich die Spalte gefunden auf "True".
Wenn diese leer ist, wird Benutzer abgefragt
"nicht gefunden" erledigt.
In dem Fall setze ich die Spalte erledigt auf "True",
das gleiche mit der Spalte überführt.[/I]
Eindeutig verständlich sind diese Formulierungen nicht!
Eventuell mußt Du mit AND bzw. OR alle drei Spalten
beim Filtern einbeziehen. | |
Re: Checkbox-Filter | | | Autor: ERBRU | Datum: 16.11.17 17:57 |
| Danke Manfred,
aber ich habe es so geregelt:
Wenn gefunden wird eine "MAXIMO-NUMMER eingetragen die Zeile ist dann auch gleich abgearbeitet gekennzeichnet, und das Filtern ist nun auch besser zu handhaben. Logisch wenn Benutzer eine Nummer eingibt hat er
1. die Zeile abgearbeitet
2. ja eine Maximo gefunden
3. findet er keine dann ist die Zeile abgearbeitet und Gut ist
so kann ich die gefundenen Filtern, aber auch die abgearbeiteten.
die Gruppierung passt nun auch. Super
Danke! jetzt möchte ich gleiches mit gleichem Vergleichen automatisch kennzeichnen
ohne eine "Suche einzugeben" haste eine Idee?
| |
| 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 |
|
|
sevOutBar 4.0
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|