RowFilter mit Termine VB.NET
Habe ich diese Daten in mein DGV:
14/06/2012
15/07/2012
16/07/2012
17/07/2012
Setze ich den Filter auf diese: ([supplier_invoice_date] >= '13/07/2012') AND ([supplier_invoice_date] <= '17/07/2012')
Den Filter wieder in dieser (Alle Termine):
14/06/2012
15/07/2012
16/07/2012
17/07/2012
Ein weiterer test:
Filter: ([supplier_invoice_date] >= '15/07/2012') AND ([supplier_invoice_date] <= '17/07/2012')
Ergebnis:
15/07/2012
16/07/2012
17/07/2012
Filter: ([supplier_invoice_date] < '17/06/2012')
Ergebnis:
14/06/2012
15/07/2012
16/07/2012
Ich denke, es ist nur unter den Tage und nicht Monate dauern.
Hier ist mein code:
Dim dt As New DataTable
Dim suppliersinvoices_data_query As String = ("DATE_FORMAT(MIN(supplier_invoice_date), '%d/%m/%Y') AS supplier_invoice_date, ...")
Dim invoice_objDataAdapter As New MySqlDataAdapter(suppliersinvoices_data_query, objConn)
invoice_objDataAdapter.Fill(dt)
Dim MyFilter As New DataView(dt)
MyFilter.RowFilter = "([supplier_invoice_date] >= '13/07/2012') AND ([supplier_invoice_date] <= '17/07/2012')"
invoicesresults_datagrid_search_supplierinvoice.DataSource = MyFilter
- Ich glaube, Sie brauchen, um konvertieren Sie die Zeichenfolge in Datum/Uhrzeit
- können Sie lassen Sie mich einige Beispiel zu versuchen? Dank
- können Sie einige Ihrer code?
- Yup, natürlich!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist die
DataView.RowFilter
syntaxfor
Termine:Aber das könnte man auch mit
Linq-To-DataSet
. Ich gehe davon aus, dass die tatsächlichen Datentyp des Feldes istString
stattDate
, so dass Sie brauchen, um zu analysieren, es zuDate
erste:Wie es aussieht, sind die Umwandlung der Datumsangaben in Zeichenfolgen, um zu formatieren. Versuchen Sie zu vermeiden, und lassen Sie das raster verwenden Sie den date-Wert wird immer aus der Datenquelle.
Wenn Sie möchten, formatieren Sie das Datum des DataGridView-Steuerelement, versuchen Sie es so:
Dann können Sie mit echten Daten das filtern der Daten: