Hi,
leider fruchtet das ganze nicht.
Ich poste mal den ganzen Code, wie ich ihn jetzt habe.
Ich finde den Fehler nicht, damit er die nächstgrößere Seite findet
Public Class Form1
Dim dt As New cDataTableCSV
Dim bs As New BindingSource
Dim dgv As New DataGridView With {.Parent = Me, .DataSource = bs, .Top = _
50, .Width = 464, .Height = 509}
'Filter-Controls
Dim txtNummer As New TextBox With {.Parent = Me, .Width = 90, .Left = 52, _
.Top = 20}
Dim txtLaenge As New TextBox With {.Parent = Me, .Width = 90, .Left = 152, _
.Top = 20}
Dim txtBreite As New TextBox With {.Parent = Me, .Width = 90, .Left = 252, _
.Top = 20}
Dim WithEvents btnFilter As New Button With {.Parent = Me, .Left = 8, .Top _
= 20, .Width = 30, .Text = "Go"}
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) _
Handles MyBase.Load
Dim sAppPath As String
sAppPath = Application.StartupPath
Me.Size = New Size(480, 597)
If Not dt.LoadFile(sAppPath & "\Seiten.csv", System.Text.Encoding.UTF7) _
Then
MsgBox("Datei konnte nicht geladen werden")
Else
dt.Columns(0).ColumnName = "Nummer"
dt.Columns(1).ColumnName = "Laenge"
dt.Columns(2).ColumnName = "Breite"
dt.Columns(3).ColumnName = "Bezeichnung"
bs.DataSource = dt
End If
End Sub
Private Sub btnFilter_Click(sender As Object, _
e As System.EventArgs) Handles btnFilter.Click
Dim Laenge, Breite, Nummer As Decimal, filter As String = String.Empty
bs.Filter = ""
' Teilenummer
If Decimal.TryParse(txtNummer.Text, Nummer) Then
filter = "Convert(Nummer, 'System.Decimal') = " & _
Nummer.ToString(System.Globalization.CultureInfo.InvariantCulture)
End If
' Länge
If Decimal.TryParse(txtLaenge.Text, Laenge) Then
filter = "Convert(Laenge, 'System.Decimal') = " & _
Laenge.ToString(System.Globalization.CultureInfo.InvariantCulture)
End If
' Breite
If Decimal.TryParse(txtBreite.Text, Breite) Then
'falls erste Bedingung gegeben --- Verknüpfung einschieben
If Not filter = String.Empty Then filter &= " And "
'zweite Bedingung setzen
filter &= "Convert(Breite, 'System.Decimal') = " & _
Breite.ToString(System.Globalization.CultureInfo.InvariantCulture)
End If
'Filterstring zuweisen
bs.Filter = filter
End Sub
End Class |