Forum: VB.NET |
Thema:
Re: Frage zu DataTable-DataView |
Von:
G. Guest (
25.09.2005 11:50) |
moin,
mit der RowFilter-Eigenschaft kannst Du ähnlich zu einem SQL-Query Filteroptionen angeben, also Spaltenname = Ausdruck um so die Rows zu filtern die diesem Kriterium entsprechen.
Private Sub DView(ByVal filteroption1 As String, ByVal filteroption1 as String)
Dim dv As New DataView
dv.Table = ds.Tables("Tabelle") ' ds - DataSet
dv.RowFilter = "Spaltenname1 = '" & filteroption1 & "' AND Spaltenname2 = '& filteroption1&'"
dg.DataSource = dv ' dg - Datagrid
dv.Sort = filteroption1
End Sub
In oben gezeigtem Beispiel werden so alle Rows im Datagrid dg angezeigt, die beiden Filterkriterien
die als Prozedurargument übergeben werden ( die Spaltennamen kann man natürlich auch als Argument übergeben). Der Fehler in Deinem Code liegt eben darin, das mit dem RowFilter eben Zeilen und nicht die Spalten gefiltert werden.
Deine nachfolgenden Schleifen kann ich so nicht direkt nachvollziehen, aber wenn du eine DataTable deklarierst, wie die tab1, mußt Du, wenn diese nicht per Fill-Methode des DataAdapter gefüllt wurde,
dieser die entsprechende Tabelle übergeben, damit diese dann auf den Speicherplatz der gefüllten table verweist, so z.B.:
Dim tab as Datatable = ds.Tables("name") ' sofern ein entsprechendes Dataset vorhanden ist
Gruß Olli
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!