Hallo,
es will mir nicht gelingen, eine FilterExpression zu bauen, die eine Variable enthält.
Auf einem Formular befinden sich 20 Radiobuttons, mit denen man ein DataGridView filtern kann. Die FilterExpression hab ich im Tag mitgegeben. Zum Beispiel lautet der Tag eines Radiobuttons
C6511='X'
und die DataView für das DGV wird gesteuert über
So funktioniert das einwandfrei.
Es sind aber auch Filter erforderlich, die z.B. einen Wert aus einer Textbox verwenden sollen.
Im Tag steht
C3101 Like '% & tbName.Text & %'
Da wird kein Datensatz gefunden.
Setze ich
filterExpression = "C3101 Like '%" & tbName.Text & "%'"
dann klappt es.
Wenn ich den String im Tag mit Anführungszeichen schreibe
"C3101 Like '%" & tbName.Text & "%'"
und im Code dann mit der Maus über den Ausdruck filterExpression fahre, wird mir angezeigt
"""C3101 Like '%"" & tbName.Text & ""%'"""
aber in der Text-Schnellansicht siehts genau richtig aus:
"C3101 Like '%" & tbName.Text & "%'"
Dennoch kommt der Fehler
System.Data.SyntaxErrorException
HResult=0x80131920
Nachricht = Das Token '"' kann an Position 36 nicht interpretiert werden.
Wäre toll, wenn mir wieder einmal jemand auf die Sprünge helfen könnte. Danke!
Viele Grüße
Norbert
es will mir nicht gelingen, eine FilterExpression zu bauen, die eine Variable enthält.
Auf einem Formular befinden sich 20 Radiobuttons, mit denen man ein DataGridView filtern kann. Die FilterExpression hab ich im Tag mitgegeben. Zum Beispiel lautet der Tag eines Radiobuttons
C6511='X'
und die DataView für das DGV wird gesteuert über
Code:
For Each ctl As Control In Panel1.Controls If TypeOf ctl Is RadioButton AndAlso CType(ctl, RadioButton).Checked Then filterExpression = (CStr(ctl.Tag)) End If Next dView = New DataView(T745, filterExpression, "C0001", DataViewRowState.CurrentRows)
Es sind aber auch Filter erforderlich, die z.B. einen Wert aus einer Textbox verwenden sollen.
Im Tag steht
C3101 Like '% & tbName.Text & %'
Da wird kein Datensatz gefunden.
Setze ich
filterExpression = "C3101 Like '%" & tbName.Text & "%'"
dann klappt es.
Wenn ich den String im Tag mit Anführungszeichen schreibe
"C3101 Like '%" & tbName.Text & "%'"
und im Code dann mit der Maus über den Ausdruck filterExpression fahre, wird mir angezeigt
"""C3101 Like '%"" & tbName.Text & ""%'"""
aber in der Text-Schnellansicht siehts genau richtig aus:
"C3101 Like '%" & tbName.Text & "%'"
Dennoch kommt der Fehler
System.Data.SyntaxErrorException
HResult=0x80131920
Nachricht = Das Token '"' kann an Position 36 nicht interpretiert werden.
Wäre toll, wenn mir wieder einmal jemand auf die Sprünge helfen könnte. Danke!
Viele Grüße
Norbert
Comment