-- 作者:cd_tdh
-- 发布时间:2021/4/28 16:28: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 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
|