Vb.net 高级DataGridView日期时间过滤器

Vb.net 高级DataGridView日期时间过滤器,vb.net,advanceddatagrid,Vb.net,Advanceddatagrid,在我的win form应用程序中,我使用了“Advanced DataGridView”。对于筛选字符串列,它工作正常,但当我筛选Datetime列时,网格视图变为空。 当我调试它时,我知道它只从列(即 ([Date_Time] IN ('11/04/2017', '12/04/2017', '13/04/2017')) 这就是为什么我的网格视图变成空的原因,因为没有一行只有日期 这是我的“更改筛选器字符串”事件代码 Me.crossMatchBindingSource.Filter = dg

在我的win form应用程序中,我使用了“Advanced DataGridView”。对于筛选字符串列,它工作正常,但当我筛选Datetime列时,网格视图变为空。 当我调试它时,我知道它只从列(即

([Date_Time] IN ('11/04/2017', '12/04/2017', '13/04/2017'))
这就是为什么我的网格视图变成空的原因,因为没有一行只有日期

这是我的“更改筛选器字符串”事件代码

Me.crossMatchBindingSource.Filter = dgvCrossMatchDetails.FilterString

所以,我的问题是如何在过滤器中包含时间

我相信您正在尝试将网格视图绑定到数据源,该数据源使用SQL从数据库中提取数据。我相信您可以对SQL进行如下修改:

([Date_Time] between ('11/04/2017' and '14/04/2017'))

这应该考虑时间和日期。

如果我错了,请纠正我。无论是谁创建了AdvancedDataGrid,他/她为filter编写的代码都只能过滤日期而不能过滤日期时间。所以我应该把我的日期时间分成两列,然后我就可以过滤我的日期了。事实上,我已经做了,它工作得很好,但时间栏会像过滤器中的文本一样单独显示每条记录,而不是像excel那样摸索小时和分钟

您只需转到DataGridView属性并将“DateWithTime”设置为“True”。
现在您可以按日期和时间进行筛选。

我没有编写上述查询,因此无法将“IN”改为“between”。这是“Advanced DataGridView”在运行时过滤excel之类的列时生成的查询。您的网格视图将无法按预期工作。查询正在查找以下值:2017年4月11日00:00:00、2017年4月12日00:00:00和2017年4月13日00:00:00。那么在DataTime列上筛选“Advanced Datagridview”的解决方案是什么。