以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]时间列筛选  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100671)

--  作者:18523982317
--  发布时间:2017/5/16 10:45:00
--  [求助]时间列筛选
我有个时间列,有个目录树,一级目录是2017  二级目录是01到12 
我点击一级目录的时候,筛选条件用"来文时间 like \'% " & e.Node.Name & " %\'" 可以正常筛选
我点击二级目录的时候,筛选条件用"来文时间 like \'%" & e.Node.ParentNode.Name & "-" & e.Node.Name & "%\'",这个就不能用了,我想问问,用like是否可以筛选时间?

至于读取那个月的第一天和最后一天我会,只是嫌麻烦,就像试试这个,请问可行不?还是说日期列就不能用like筛选?

--  作者:有点色
--  发布时间:2017/5/16 10:50:00
--  

你写的是筛选,还是加载?

 

如果是筛选,可以这样写:  "Convert(来文时间,\'System.String\') like \'%" & e.Node.ParentNode.Name & "-" & e.Node.Name & "%\'"

 

 你可以加一个表达式列,输入公式 Convert(来文时间,\'System.String\') 就可以看到其内容是什么。

 

如果日期格式变成了 2017/05/16 这种,那你就需要设置一下日期格式 afterOpenProject事件,短日期

 

Dim cd As System.Globalization.DateTimeFormatInfo = System.Globalization.DateTimeFormatInfo.CurrentInfo
cd.ShortDatePattern = "yyyy年MM月dd日"
Dim DateInfo As System.Reflection.FieldInfo = cd.Gettype.GetField("generalLongTimePattern", System.Reflection.BindingFlags.NonPublic Or System.Reflection.BindingFlags.Instance)
If  DateInfo IsNot Nothing Then
    DateInfo.SetValue(cd, "yyyy-MM-dd HH:mm:ss")
End If


--  作者:18523982317
--  发布时间:2017/5/16 10:55:00
--  
谢色大大  我有2个问题

1、我写的是load加载,你写的筛选我想我也用得着,多谢,load的话该怎么写?
2、你提到一个2017/05/16的问题,我一直没注意,那个是不是跟系统的时间格式设置有关系?如果系统时间那个设置改成/这个  那么日期列看到的形式就是2017/05/16

--  作者:有点色
--  发布时间:2017/5/16 11:25:00
--  

1、加载的话,就简单了,直接用函数

 

"year(来文时间) = " & e.Node.ParentNode.Name & " and month(来文时间) = " & e.Node.Name & ""

 

2、看2楼,可以在AfterOpenProject事件指定你项目内使用的日期格式。


--  作者:18523982317
--  发布时间:2017/5/16 11:35:00
--  
多谢色大大,居然还能这么用year(来文时间)