Foxtable(狐表)用户栏目专家坐堂 → [求助]筛选按钮代码报错


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

主题:[求助]筛选按钮代码报错

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


加好友 发短信
等级:幼狐 帖子:103 积分:1228 威望:0 精华:0 注册:2017/5/16 22:42:00
[求助]筛选按钮代码报错  发帖心情 Post By:2018/8/8 14:34:00 [只看该作者]

设置单元格快捷菜单时,输入系统默认的筛选按钮代码,提示错误,代码如下:

Dim t As Table = CurrentTable

Dim m As RibbonMenu.MenuButton = e.MenuButton

Dim c As Col = t.Cols(t.ColSel)

Dim Less As RibbonMenu.Button = CType(m.Items("Less"), RibbonMenu.Button)

Dim LessOrEqual As RibbonMenu.Button = CType(m.Items("LessOrEqual"), RibbonMenu.Button)

Dim More As RibbonMenu.Button = CType(m.Items("More"), RibbonMenu.Button)

Dim MoreOrEqual As RibbonMenu.Button = CType(m.Items("MoreOrEqual"), RibbonMenu.Button)

Dim Equal As RibbonMenu.Button = CType(m.Items("Equal"), RibbonMenu.Button)

Dim NotEqual As RibbonMenu.Button = CType(m.Items("NotEqual"), RibbonMenu.Button)

Dim SamePeriod As RibbonMenu.MenuButton = CType(m.Items("SamePeriod"), RibbonMenu.MenuButton)

Dim Period As RibbonMenu.MenuButton = CType(m.Items("Period"), RibbonMenu.MenuButton)

Dim Separator As RibbonMenu.Separator = CType(m.Items("Separator"), RibbonMenu.Separator)

Dim StringFilter As RibbonMenu.MenuButton = CType(m.Items("StringFilter"), RibbonMenu.MenuButton)

Dim ValueFilter As RibbonMenu.MenuButton = CType(m.Items("ValueFilter"), RibbonMenu.MenuButton)

Dim FilterTrue As RibbonMenu.Button = CType(m.Items("FilterTrue"), RibbonMenu.Button)

Dim FilterFalse As RibbonMenu.Button = CType(m.Items("FilterFalse"), RibbonMenu.Button)

Dim Null As RibbonMenu.Button = CType(m.Items("Null"), RibbonMenu.Button)

Dim NotNull As RibbonMenu.Button = CType(m.Items("NotNull"), RibbonMenu.Button)

If c.IsDate Then

    ValueFilter.Text= "日期筛选"

ElseIf c.IsNumeric Then

    ValueFilter.Text= "数值筛选"

End If

If t.Position < 0 Then

    FilterTrue.Visible = False

    FilterFalse.Visible = False

    Less.Visible = False

    LessOrEqual.Visible = False

    More.Visible = False

    MoreOrEqual.Visible = False

    Equal.Visible = False

    NotEqual.Visible = False

    SamePeriod.Visible = False

    Separator.Visible = False

    Period.Visible = c.IsDate

    Return

Else

    Period.Visible = c.IsDate

    SamePeriod.Visible = c.IsDate

    Separator.Visible = c.IsDate Or c.IsString Or c.IsNumeric

    StringFilter.Visible = c.IsString

    ValueFilter.Visible = c.IsDate Or c.IsNumeric

    If c.IsDate Then

        SamePeriod.Items("Hour").Visible = (c.DataCol.DateTimeFormat <> DateTimeFormatEnum.Date)

        SamePeriod.Items("Minute").Visible = (c.DataCol.DateTimeFormat <> DateTimeFormatEnum.Date)

    End If

End If

If c.IsBoolean Then

    FilterTrue.Visible = True

    FilterFalse.Visible = True

    Equal.Visible = False

    NotEqual.Visible = False

    Less.Visible = False

    More.Visible = False

    LessOrEqual.Visible = False

    MoreOrEqual.Visible = False

    Null.Visible = False

    NotNull.Visible = FAlse

Else

    FilterTrue.Visible = False

    FilterFalse.Visible = False

    Equal.Visible = True

    NotEqual.Visible = True

    Null.Visible = True

    NotNull.Visible = True

    If t.Current.IsNull(t.ColSel) OrElse c.IsString Then

        Less.Visible = False

        More.Visible = False

        LessOrEqual.Visible = False

        MoreOrEqual.Visible = False

    Else

        Less.Visible = True

        More.Visible = True

        LessOrEqual.Visible = True

        MoreOrEqual.Visible = True

    End If

End If

If t.Current.IsNull(t.ColSel) Then

    Equal.Visible = False

    NotEqual.Visible = False

    m.Items("SamePeriod").Visible = False

ElseIf c.IsString Then

    Dim v As String = t.Text

    If v > "" AndAlso v.Length > 15 then

        v = v.SubString(0,15) & "..."

    End If

    Equal.Text = "等于 """ & v  & """"

    NotEqual.Text = "不等于 """ & v & """"

ElseIf c.IsNumeric Then

    Equal.Text = "等于 " & t.Text

    NotEqual.Text = "不等于 " & t.Text

    Less.Text = "小于 " & t.Text

    LessOrEqual.Text = "不大于 " & t.Text

    More.Text = "大于 " & t.Text
此主题相关图片如下:qq截图20180808143012.png
按此在新窗口浏览图片

    MoreOrEqual.Text = "不小于 " & t.Text

ElseIf c.IsDate Then

    Equal.Text = "等于 " & t.Text

    NotEqual.Text = "不等于 " & t.Text

    Less.Text = "早于 " & t.Text

    More.Text = "晚于 " & t.Text

    LessOrEqual.Text = "不晚于 " & t.Text

    MoreOrEqual.Text = "不早于 " & t.Text

End If


报错如截图所示


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/8 14:49:00 [只看该作者]

1、代码你写到什么事件了?

 

2、你想执行的时候做到什么效果?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/8 14:51:00 [只看该作者]


 回到顶部