我尝试使用rowfilter过滤日期。这是我的代码:
DV.RowFilter = "date_of_test = " & DateTimePicker1.Text & " " DataGridView2.DataSource = DV
帮助将不胜感激。
答案 0 :(得分:0)
如果您有兴趣阅读the relevant documentation,您就会知道需要使用'#"符号或单引号作为此上下文中日期的分隔符。您基本上创建了一个日期文字,因此它们遵循与VB代码相同的规则:用'#'分隔。并使用' M / dd / yyyy'格式。此外,我强烈建议在这种情况下使用String.Format
或字符串插值来提高代码可读性。最后,你几乎不应该使用Text
的{{1}}属性。始终使用DateTimePicker
属性。
Value
或:
DV.RowFilter = String.Format("date_of_test = #{0:M/dd/yyyy}#", DateTimePicker1.Value)
此外,通常没有必要将DV.RowFilter = $"date_of_test = #{DateTimePicker1.Value:M/dd/yyyy}#"
分配给网格的DataView
,因为当您绑定DataSource
时,数据来自其DataTable
无论如何,该属性是DefaultView
类型。我通常建议将DataView
绑定到DataTable
并将其绑定到网格,在这种情况下,您设置BindingSource
的{{1}}属性。