选择日期范围以使用RowFilter过滤DGV

时间:2012-07-17 16:40:21

标签: windows vb.net date datagridview datepicker

我通过datepicker控件获取日期,但没有取得任何成功,任何人都有任何建议。

我试过:

Dim fromDate As New DateTime(startdate_picker_search_supplierinvoice.Text)
Dim toDate As New DateTime(enddate_picker_search_supplierinvoice.Text)

query &= "supplier_invoice_date >= '" & fromDate & "' AND supplier_invoice_date <= '" & toDate & "'"
invoicesresults_datagrid_search_supplierinvoice.DataSource = SelectDataTable(dt, query)

错误:从字符串“2012年7月17日星期二”转换为“长”类型无效。

2 个答案:

答案 0 :(得分:2)

请勿使用返回完整写出日期的.Text属性。而是使用:

Dim fromDate As DateTime = startdate_picker_search_supplierinvoice.Value
Dim toDate As DateTime = enddate_picker_search_supplierinvoice.Value

然后是`.ToString'扩展名。

query &= "supplier_invoice_date >= '" & fromDate.ToShortDateString & "' AND supplier_invoice_date <= '" & toDate.ToShortDateString & "'"
invoicesresults_datagrid_search_supplierinvoice.DataSource = SelectDataTable(dt, query)

答案 1 :(得分:1)

问题是你声明了一个DateTime对象,并且你正在使用的构造函数是期望的(ticks为Long)。你应该使用

Dim toDate As DateTime
toDate = enddate_picker_search_supplierinvoice.Value

请注意.Value返回日期,而不是字符串。