| |
VB.NET - FortgeschritteneValue Spalte WPF DataGRid | | | Autor: Tweety2016 | Datum: 20.02.20 12:49 |
| Hallo zusammen,
wie kann ich denn in einem DataGrid in WPF in den Spalten 2 und 4 für jede Zeile nachsehen, ob ein String vorhanden ist, und wenn nicht die Zeile komplett ausblenden?
Ich lese die Daten aus Excel ein. Mein DataGrid heißt A1.
Dim dt As System.Data.DataTable = New System.Data.DataTable()
... Lese hier alles ein
A1.ItemsSource = dt.DefaultView
Jetzt wollte ich eine Stringsuche vornehmen:
Dim mySuche As String = "Bearbeiter 1 like '%" & "Max Mustermann" & "%'"
Und dann danach Filtern:
dt.DefaultView.RowFilter = mySuche
Dann habe ich es über eine Selektion in einer ComboBox versucht:
dt.DefaultView.RowFilter = selectFieldCombo.SelectedItem.ToString
Funktioniert nichts.
Es kommt immer die Meldung: irgendwas mit kein Operand vor dem Operand1 oder so ähnlich.
Habt ihr vielleicht eine Idee, was ich anpassen müsste?
Danke! | |
Re: Value Spalte WPF DataGRid | | | Autor: Wobi | Datum: 22.02.20 03:41 |
| Hallo,
ich kann dir zwar konkret nicht helfen, aber irgendwie sieht dein Suchstring komisch aus in Sachen Leer- bzw. Anführungszeichen. Überprüfe den doch mal.
Und mit einer Fehlermeldung die "oder so ähnlich" enthält kann natürlich niemand was anfangen.
Je konkreter du die Antworten möchtest, desto konkreter solltest du auch Fehlermeldungen beschreiben.
Etwas Programmcode der zur Fehlermeldung führt ist auch fast immer hilfreich.
Gruß
Frank | |
Re: Value Spalte WPF DataGRid | | | Autor: effeff | Datum: 22.02.20 16:11 |
| 1. Deine Feldnamen sollten keine Leerzeichen beinhalten.
2. Es wäre interessant, was Du bei diesem Teil hier machst:
Dim dt As System.Data.DataTable = New System.Data.DataTable()
... Lese hier alles ein Du erstellst zwar eine DataTable, aber hat die denn auch einen Primärschlüssel, damit nachher überhaupt sortiert/gefiltert werden kann? Hast Du die Felder alle richtig erstellt? Beschreibe bitte, WIE du die Tabelle aufbereitest und füllst!
EALA FREYA FRESENA | |
Re: Value Spalte WPF DataGRid | | | Autor: Tweety2016 | Datum: 24.02.20 11:09 |
| Hallo Effeff,
1. SOLLTEN keine Leerzeichen enthalten oder DÜRFEN keine enthalten? Funktioniert es deshalb nicht?
2. Dim dt As System.Data.DataTable = New System.Data.DataTable()
For colCnt = 1 To excelRange.Columns.Count
Dim strColumn As String = ""
strColumn = CStr((TryCast(excelRange.Cells(1, colCnt), Microsoft.Office.Interop.Excel.Range)).Value2)
dt.Columns.Add(strColumn, GetType(String))
Next
For rowCnt = 2 To excelRange.Rows.Count
Dim strData As String = ""
For colCnt = 1 To excelRange.Columns.Count
Try
strCellData = CStr((TryCast(excelRange.Cells(rowCnt, colCnt), Microsoft.Office.Interop.Excel.Range)).Value2)
strData += strCellData & "|"
Catch ex As Exception
douCellData = (TryCast(excelRange.Cells(rowCnt, colCnt), Microsoft.Office.Interop.Excel.Range)).Value2
strData += douCellData.ToString() & "|"
End Try
Next
strData = strData.Remove(strData.Length - 1, 1)
dt.Rows.Add(strData.Split("|"c))
Next
A1.ItemsSource = dt.DefaultView
Bis hierhin funktioniert alles prima. Dann kommen alle versuche zu filtern - keine Zeile funktioniert.
Fehlermeldung:
System.Data.SyntaxErrorException: "Syntaxfehler: Fehlender Operand nach dem Operator '1'."
'Dim mySuche As String = "Bearbeiter 1 like '%" & "Max Mustermann" & "%'"
'dt.DefaultView.RowFilter = "Bearbeiter 1='Max Mustermann'"
'dt.DefaultView.RowFilter = selectFieldCombo.SelectedItem.ToString
'dt.DefaultView.RowFilter = mySuche
'dt.DefaultView.RowFilter = String.Format("Bearbeiter 1 Like '%{0}%' OR Bearbeiter 2 Like '%{0}%'", "Max Mustermann") | |
| 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
|
|
|
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
|
|