Foxtable(狐表)用户栏目专家坐堂 → [求助]日期时间格式的日历控件DateSelected事件


  共有1320人关注过本帖树形打印复制链接

主题:[求助]日期时间格式的日历控件DateSelected事件

帅哥哟,离线,有人找我吗?
jyh7081
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:957 积分:8434 威望:0 精华:0 注册:2012/10/3 13:25:00
[求助]日期时间格式的日历控件DateSelected事件  发帖心情 Post By:2017/10/13 20:14:00 [只看该作者]

表中[日期]列时间格式是datetime格式,日历控件MessageBox.Show显示的日期格式可以是:“yyyy-MM-dd “或 “yyyy-MM-dd 0:00”;

有没有办法不加辅助列,点击日历筛选表?代码如下:

 

Static lst As List(of Date) '定义一个静态集合变量,用于存储选择的日期
If lst Is Nothing Then
    lst = New List(of Date)
End If
If ModifierKey <> Keys.Control Then '如果没有按下Ctrl键
    lst.Clear() '清除以前的日期
End If
If lst.Contains(e.Sender.Value) = False Then '如果集合不包括按下的日期
    lst.Add(e.Sender.Value) '则向集合添加此日期
End If
If lst.Count = 1 Then '如果只选择了一个庭日期,则直接筛选此日期的表
    Tables("日记本").Filter = "日期 = #" & e.Sender.Value & "#"
    'Tables("日记本").Filter = "日期 = #" & Format(e.Sender.Value,"yyyy-MM-dd  HH:mm") & "#"
    'MessageBox.Show(Format(e.Sender.Value,"yyyy-MM-dd  HH:mm"))
Else '否则用In运算符筛选选定的多个日期的排期表
    Dim v As String
    For i As Integer = 0 To lst.Count - 1
        v = v & "#" & lst(i) & "#,"
    Next
    v = v.Trim(",")
    Tables("日记本").Filter = "日期 In (" & v & ")"
End  If

 

如图:

 
图片点击可在新窗口打开查看此主题相关图片如下:11.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105965 积分:538900 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/10/13 20:33:00 [只看该作者]

Static lst As List(of Date) '定义一个静态集合变量,用于存储选择的日期
If lst Is Nothing Then
    lst = New List(of Date)
End If
If ModifierKey <> Keys.Control Then '如果没有按下Ctrl键
    lst.Clear() '清除以前的日期
End If
If lst.Contains(e.Sender.Value) = False Then '如果集合不包括按下的日期
    lst.Add(e.Sender.Value) '则向集合添加此日期
End If

Dim filter As String = "1=2 "
For Each d As Date In lst
    Dim d1 As Date = new Date(d.Year,d.Month,d.Day)
    filter = filter & " or 日期 >= #" & d1 & "# and 日期 < #" & d1.AddDays(1) & "# "
Next
Tables("订单").Filter = filter

 回到顶部