2012-07-17 73 views
1

我正在通过datepicker控件获取日期,但没有取得任何成功,任何人都有任何建议。选择一个日期范围来使用RowFilter过滤DGV

我tryed:

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

请勿使用正在返回完整写出日期的.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) 
+0

我总是得到同样的错误。 :( – 2012-07-17 17:01:26

+0

@JohnNuñez,我解决了所有问题,看到了更改后的答案。 – 2012-07-17 17:05:08

+0

我很感谢你的帮助,但是当试图设置日期时出现这个错误:无法将字符串识别为有效的DateTime:( – 2012-07-17 17:10:44

1

问题是,您正在声明一个DateTime对象,并且您正在使用的构造函数期望(以长整数)。您应该使用

Dim toDate As DateTime 
toDate = enddate_picker_search_supplierinvoice.Value 

请注意.Value返回日期而不是String。

+0

我对代码进行了更改,但现在出现此错误:无法将该字符串识别为有效的DateTime。谢谢 – 2012-07-17 17:06:24