通过datagridview对日期进行行筛选

时间:2018-05-16 18:24:56

标签: vb.net

我尝试使用rowfilter过滤日期。这是我的代码:

DV.RowFilter = "date_of_test = " & DateTimePicker1.Text & " " DataGridView2.DataSource = DV

帮助将不胜感激。

1 个答案:

答案 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}}属性。