以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]关于日历控件Calendar的两个问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103396)

--  作者:jyh7081
--  发布时间:2017/7/7 8:55:00
--  [求助]关于日历控件Calendar的两个问题
1、当点击目录树的日期进行筛选时,提示“无法在 System.DateTime 和 System.String 上执行“=”操作。”  经查看日期列的列属性没错,是日期型的。见下图:

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

2、[日期]列中的值,在日历控件中相应的日期加粗显示,下面的横线上代码怎么改?
e.Form.Controls("Calendar1").basecontrol.BoldedDates = New Date() {New Date(2017, 2, 8), NewDate(2017, 2, 17)}

附件:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:日历控件.table





--  作者:有点甜
--  发布时间:2017/7/7 9:01:00
--  

1、

 

Dim Filter As String
Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的行
If e.Node.Text <> "显示所有行" Then
    Select Case e.Node.Level
        Case 0
            Filter = "[日期] = #" & dr("日期") & "#"
        Case 1
            Filter = "[日期] = #" & dr("日期") & "# And [地点] = \'" & dr("地点") & "\'"
        Case 2
            Filter = "[日期] = #" & dr("日期") & "# And [地点] = \'" & dr("地点") & "\' And [内容] = \'" & dr("内容") & "\'"
    End Select
End If
Tables("事务主表").Filter = Filter

 

2、

 

e.Form.Controls("Calendar1").basecontrol.BoldedDates = New Date() {New Date(2017, 2, 8), New Date(2017, 2, 17)}


--  作者:jyh7081
--  发布时间:2017/7/7 9:25:00
--  
谢谢甜版主!
第二个问题没有给答复呀?

--  作者:有点甜
--  发布时间:2017/7/7 9:27:00
--  

AfterLoad事件,写2楼代码

 


--  作者:有点甜
--  发布时间:2017/7/7 9:30:00
--  
dim d1 as date = "2017-07-07"
Dim d2 As Date = "2017-07-14"
Dim ds() As Date = {d1, d2}
e.Form.Controls("Calendar1").basecontrol.BoldedDates = d

--  作者:jyh7081
--  发布时间:2017/7/7 9:38:00
--  
甜版主,可能没表述清楚,我是想[日期]列包含的所有列值的集合,在日历控件中加粗显示。谢谢!
--  作者:有点甜
--  发布时间:2017/7/7 9:43:00
--  
Dim ls = DataTables("事务主表").GetValues("日期")
Dim nls As new List(of Date)
For Each s As String In ls
    nls.add(s)
Next
e.Form.Controls("Calendar1").basecontrol.BoldedDates = nls.Toarray