以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [分享]Foxtable内置筛选器  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=16386)

--  作者:飞
--  发布时间:2012/2/12 15:46:00
--  [分享]Foxtable内置筛选器

尽管Foxtable的筛选功能已经足够健全,但是用过Excel2007以后版本的朋友是否觉得未能够使用那样的筛选功能有些遗憾呢?

呵呵,在项目事件AfterOpenProject事件中加入一行代码可以开启某个表的内置筛选功能,如下图片所示:

 

Tables("行政区域").Grid.AllowFiltering = True

 


此主题相关图片如下:筛选器1.png
按此在新窗口浏览图片

此主题相关图片如下:筛选器2.png
按此在新窗口浏览图片

但是在很多传统的企业尤其是制造型的企业中,管理层的年龄偏大,也就是说不可能每个人都懂英文的,

因为这个筛选器是表控件自带的功能,所以看起来有些吃力,怎么办呢?

 

不要急,在功能区管理项目选项卡中点击计划管理按钮,打开计划管理,添加一个计划,间隔300(也可以自行设置),然后加入以下代码

 

On Error Resume Next

Dim MyForm As Windows.Forms.Form = Windows.Forms.Form.ActiveForm

If MyForm Is Nothing Then Return

If MyForm.Name = "FilterEditorForm" Then

    With MyForm.Controls("ColumnFilterEditor").Controls("_conditionFilterEditor")

        If .Controls("_label").Text = "按以下条件显示行" Then Return

        .Controls("_label").Text = "按以下条件显示行"

        .Controls("_btnOr").Text = ""

        .Controls("_btnAnd").Text = ""

        Dim ArrText1 As String() = {"(Not Set)","Equals","Does Not Equals","Is Greater than","Is Less than","Is Greater than or Equal to","Is Less than or Equal to","Contains","Does Not Contain","Begins with","Ends with"}

        Dim ArrText2 As String() = {"(不设置)","等于","不等于","大于","小于","大于等于","小于等于","包含","不包含","开始于","结束于"}

        Dim MyCombo As Windows.Forms.ComboBox = .Controls("_cmbOp1")

        For i As Integer = 0 To Ubound(ArrText2 )

            MyCombo.Items(i) = ArrText2(i)

        Next

        MyCombo = .Controls("_cmbOp2")

        For i As Integer = 0 To Ubound(ArrText2 )

            MyCombo.Items(i) = ArrText2(i)

        Next

    End With

    Dim MyToolBar As Windows.Forms.ToolStrip = MyForm.Controls("_toolStrip")

    With MyToolBar

        .Items("_btnCancel").Text = "取消"

        .Items("_btnClearFilter").Text = "清除"

        .Items("_btnApplyFilter").Text = "筛选"

        .Items("_btnTextFilter").Text = "文本筛选"

        .Items("_btnDateTimeFilter").Text = "日期/时间筛选"

        .Items("_btnNumericFilter").Text = "数值筛选"

        .Items("_btnValueFilter").Text = "值筛选"

        Dim ToolBarSplitBtn As Windows.Forms.ToolStripSplitButton = .Items("_btnTextFilter")

        With ToolBarSplitBtn.DropDownItems

            .Item("_mnuEquals").Text = "等于"

            .Item("_mnuDoesNotEqual").Text = "不等于"

            .Item("_mnuBeginsWith").Text = "开始于"

            .Item("_mnuEndsWith").Text = "结束于"

            .Item("_mnuContains").Text = "包含"

            .Item("_mnuDoesNotContain").Text = "不包含"

            .Item("_mnuGreaterThan").Text = "大于"

            .Item("_mnuGreaterThanOrEqualTo").Text = "大于等于"

            .Item("_mnuLessThan").Text = "小于"

            .Item("_mnuLessThanOrEqualTo").Text = "小于等于"

            .Item("_mnuBetween").Text = "介于"

        End With

    End With

End If

 

 

 

呵呵,见识奇迹的时刻到了..........

 


此主题相关图片如下:筛选器3.png
按此在新窗口浏览图片

此主题相关图片如下:筛选器4.png
按此在新窗口浏览图片

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:内置筛选器.rar

 

 

以下广告:

求职:http://www.foxtable.com/bbs/dispbbs.asp?boardid=6&Id=16267

本人Foxtable技术交流QQ群:198855045

[此贴子已经被作者于2012-6-21 23:02:50编辑过]

--  作者:ido
--  发布时间:2012/2/12 15:51:00
--  
杀他死到此一游。。。飘过~~~~~狐爸射吧。。。
[此贴子已经被作者于2012-2-12 16:06:44编辑过]

--  作者:jianjingmaoyi
--  发布时间:2012/2/12 15:56:00
--  
牛人
--  作者:gaoyong30000
--  发布时间:2012/2/12 16:02:00
--  

顶 顶 顶

~~


--  作者:czy
--  发布时间:2012/2/12 17:42:00
--  
顶。
--  作者:angelina_yu
--  发布时间:2012/2/12 18:02:00
--  回复:(飞)[分享]Foxtable内置筛选器

赞!~~


--  作者:gdlgh
--  发布时间:2012/2/12 18:37:00
--  
呵。顶上!
--  作者:方丈
--  发布时间:2012/2/12 18:37:00
--  

飞-神、佛!

[此贴子已经被作者于2012-2-12 18:37:44编辑过]

--  作者:zpx_2012
--  发布时间:2012/2/12 20:00:00
--  

飞哥应该是最为大伙着想的了,近几天贡献了很多适用的东东。确实要顶!


--  作者:xiaoqiwei
--  发布时间:2012/2/12 20:02:00
--  
飞,的确厉害!!!