请下载这个链接:
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=64607
先盖三层别墅,再沏一壶香茶。
待俺慢慢道来。
先说明一下:
本案例的载体,是一个实际使用中的小项目:快递公司短信发送平台。
其中的“发送”按钮中的代码,是别人写的,而且没有公开分享过,所以就禁用了。涉及的敏感信息也做了处理,姓名和电话号码,都不是真实的,地址也没有特别意义。
20141206更新:新增幻灯功能
20141207更新:新增当前表导航功能,放弃了自定状态栏,恢复了狐表状态栏,因为自定状态栏与录入窗口争夺地盘。 状态栏左侧添加了切换按钮,切换导航栏与主表管理窗口的显示或隐藏,右侧添加了设置按钮,设置各种图片和文本颜色。
20141212更新:权限管理,要求不同的用户显示和隐藏不同的按钮。本案例的菜单栏和导航栏,隐藏按钮后,显示的按钮重新排列,不会留下空缺,保证美观。NavBar中的任务按钮,是不会 自动重排的。
多选筛选,将日期多选与其他筛选整合在一起,日期列为空值时,显示为0(因为日期转换成了年、月、日等数字)
高级筛选,不用表控件,高级筛选本身不再成为当前表,预置10行,应该够用,带括号,能进行复杂的筛选,因为是自定义的窗口,能够用代码控制显示或隐藏,也可以根据需 要而设置停放位置。
以下内容只有回复后才可以浏览
使用指南
第一讲 概述
任何一个数据库项目,都必须过三关:界面、存储、获取。
界面是第一印象,所谓一见钟情、二见倾心、三见成亲;再好的软件,也难免有漏洞,造成用户困扰,好的界面可以缓解用户的不良情绪。
存储,就是新增或修改后,数据的保存,狐表的保存代码,非常方便,但是当数据量很大时,保存速度不够快,用户会着急。
获取,就是数据的加载和筛选,网络版的数据库,有些表的数据,量大,而且变动频繁,就要经常刷新数据,速度固然重要,查看方式是否灵活简便,同样重要。
本案例,是对狐表功能的扩展,而不是替代某些功能,并且是用狐表固有的代码编写的,有了BUG,自己可以解决,也可以上论坛求教。作为开发者,可以根据项目需求和个人喜好,灵活取舍狐表功能和本案例的扩展功能。作为使用者,也可以根据自己的偏好,灵活更改界面图片、图标,更改按钮文本颜色、更改菜单栏和导航栏位置;显示或隐藏某些界面元素。
即使是QQ这样的著名软件,换肤,也只是他们有什么,我们换什么,而本案例,是用户有什么,用户换什么。
过多的有意识的设置参数,会让用户无所适从。本案例大多数参数,操作即设置,设置就记忆,下次重启,会根据关闭前的操作,自动加载界面布局。少量有意识的参数设置,也是所见即所得,界面实时反映你的设置。
突破了任务栏(TopicBar)、导航栏(NavBar)、页面集合的(TabControl)的界线,随意组合、随意美化,再也不必局限在多少种风格,更不必借助第三方控件。
狐表的菜单,是个难题:层层进、层层退,都不知转到了哪里,生成后的菜单,遍历又困难重重,而且除了快捷菜单,不能放到窗口中。
本案例的菜单,可以放到任何窗口中,层级少,遍历容易,可以固定,也可以隐藏;子菜单自适应窗口宽度,横向排不下,就自动纵向另起一行,主菜单可以横向移动,停放在你喜欢的位置。
导航栏的页面按钮,可以纵向移动,并停放在合适的位置,页面按钮即使占满了整个导航栏,也不影响任务页面的展开。
主表管理窗口,多种筛选方式,灵活变动表的显示与隐藏,正在操作的表,排在第一位,即使有几万个主表,也和几张表一样轻松。
状态栏,就像WindowsXP的任务栏,点击开始按钮,在导航栏和主表管理之间切换,点击右下角设置按钮,设置界面各部分的窗口、按钮的图片及文本颜色。
多选筛选,遇到表中有空值,照样正常生成目录树,目录树的节点未选中就不显示图标,选中的才显示图标,选中的就非常突出,双击节点的展开与收缩,更是便于操作、查看。
计算器,其中有个快速累加功能,用键盘右边的小数字键盘,只需要输入数字,按回车,都不用按加号,就行了,特别适合会计工作。
最最重要的,是分页加载和SQL逐行插入。
分页加载,根据加载条件或筛选条件,能够快速分页,灵活加载。一次可以加载任意数量的页数,可以加载任意一页,可以一页替换另一页的方式,也可以一页与已加载页累加的方式。可以升序,可以降序,每页30行左右的话,一屏完全显示,省去了拖动表滚动条的麻烦。
很多行数据,用狐表代码新增、保存,差不多就死机了,用SQL逐行插入、一次提交事务,速度大大提高,而且不会出现SQL语句过长而报错的问题。
最后还有记录窗口的问题:用窗口录入的方式,一般要添加大量的录入控件,非常费时、费力,记录窗口就比较简便,但有些表列数多,分几个记录窗口显示,又增加操作量。
本案例的记录窗口,用三个记录窗口控件,根据当前表的列数,自动分配显示各列,不管列数多少,都不用操心,当然啦,不能编辑的列,是不会出现在记录窗口中的。
字体缩放,数据表的字体,默认是9号,如果嫌小,就放大,如果想显示更多的数据,就缩小,不用在开发阶段更改狐表的默认设置。
第二讲 配置栏
配置栏从左向右,菜单按钮依次是:整理桌面、切换自定菜单的显示状态、切换狐表菜单和表标题的显示状态、狐表风格切换、最小化、最大化或正常、关闭系统、自定菜单栏隐藏或固定。
整理桌面:隐藏其他部分,只保留快速访问栏、配置栏、状态栏,突出显示主工作区的精美大图片(相当于桌面),以幻灯片方式,动态展示所有的主界面图片,而用户可以增删这些图片。
切换自定菜单的显示状态:隐藏或显示自定菜单栏中的主菜单,隐藏时会更好的显示菜单栏横幅图片,以及公司名称、标识图片等
切换狐表菜单和表标题的显示状态:隐藏或显示狐表菜单的功能区和表标题,如果想在发布后隐藏这两项,作为在开发阶段,预览发布后的效果,很有用。
狐表风格切换:快速访问栏、配置栏、状态栏,在狐表的三种风格(黑色、银色、蓝色)之间切换。
自定菜单栏隐藏或固定:固定时,自定菜单栏会一直显示,隐藏时,当鼠标离开菜单栏区域,菜单栏隐藏,鼠标进入菜单栏区域,菜单栏显示,在电脑屏幕较小时,很实用。
第三讲 菜单栏
菜单有狐表菜单和自定菜单,狐表菜单是导入的狐表系统菜单,在开发阶段,省去了在自定义菜单和系统菜单之间的切换,并且能够复制系统菜单中的代码。
自定菜单,是窗口菜单,只有两个层级:主菜单和子菜单。在主菜单或子菜单的空白区,按下左键并拖动,可以将主菜单横向拖动到想要的位置;最右边的双向箭头,点击可将主菜单移到最左边或最右边,重启项目后,主菜单就在你退出时所在的位置。主菜单栏的宽度超出窗口宽度时,自如的移动,就派上了用场。
在主菜单上,鼠标滑动,展现相应的子菜单,鼠标单击,子菜单在显示和隐藏之间切换,只有分页加载主菜单例外,因为要与加载表配合,加载表时,分页加载子菜单自动展开。
子菜单除分页加载外,都是根据窗口宽度,自动调整行数,增减高度,全部显示子菜单中的按钮,默认可以显示两行,而两行对于绝大多数子菜单栏是够用的,免得高度经常变化。
配置栏中有功能按钮,调整自定菜单栏的显示与隐藏状态、主菜单的显示与隐藏状态,以配合主界面的大小,并更好的展示想要看到的界面各部分。
自定菜单中的代码,也是针对当前表,所以适用于所有表。
第四讲 导航栏
和菜单栏不同,导航栏一般用于设置专用功能,随着数据库项目的不同而不同,而菜单栏设置通用功能,适用于各种项目。
通常是用TopicBar或NavBar制作导航栏,但其界面风格的选择有限,且大同小异,特别是如果页面按钮很多,布满整个导航栏,任务按钮将无法展开。
本案例的导航栏,无论是导航栏底图,还是页面按钮、任务按钮、任务面板,都可以自定义,漂亮与否,就看你的配图水平,因为最终用户也可以增删图片、更改按钮文本的颜色,也可以让用户决定导航栏的外观风格;页面按钮,可以选择通常的伸缩方式,也可以选择,只显示一个页面按钮(勾选导航栏左下角的复选框),这样,即使页面按钮布满了导航栏,还是不影响任务面板的展开。
按住左键,上下拖动,可以改变页面按钮的位置,并且能够保存,下次重启时,会在退出时一样的位置,这样就和底图有很好的配合。
第五讲 状态栏
状态栏有狐表的状态栏,还可以自定义状态栏。自定义状态栏,什么都可以自主,可惜与录入窗口位置有冲突,所以放弃了,但控件和代码保留着,起用很方便。
状态栏左侧添加了开始按钮(相当于XP的开始按钮),用来切换导航栏和主表管理窗口。主表很多时,找到想操作的主表,可不容易,找到了也不在最前面。本案例的主表管理窗口中,有首字母筛选,勾选的首字母对应的主表名称,才会显示在复选列表框中;复选列表框中勾选的表,才会显示,双击勾选后的名称,会将对应的主表移到最左侧;模糊查找,输入主表名称或主表名称的首字母,就能筛选出符合条件的主表,显示在复选列表框中。管理几万张表,与管理几张表,一样的简单。
状态栏右侧的按钮,打开图片和文本颜色设置窗口。在窗口中,左侧选择某个位置的底图或文本,右侧选择需要的图片或文本颜色,在主界面中,实时显示选择的结果,并保存你的选择,下次重启时,就是这样的界面。
第六讲 记录窗口
当表的列数很多,行数也不少的时候,要定位准备操作的单元格,蛮费劲。
用文本框和标签设计录入窗口,效率太低,太辛苦。
本案例的记录窗口,有三个记录窗口控件,根据表的列数,自动合理分配每个记录窗口控件中的列数,并且列名按升序排列,便于快速定位单元格。
如果只是查看数据,记录窗口中包含所有列;如果是编辑数据,记录窗口中只包含可编辑列。
记录窗口中,有当前表导航按钮:首行、末行、前行、后行。上页与下页,是根据当前表的可见行,自动计算每页行数,使用这个功能时,最好让可见的首行和末行刚好完整显示,不要只显示行的一部分高度,效果会更好。
还有一个按钮,是取消筛选排序。副表用来编辑数据,有个副作用:经过筛选、排序后,再编辑数据,会自动应用筛选和排序,结果是,刚编辑的数据,不知跑到哪里去了。所以在编辑之前,先同时取消筛选和排序,就和在主表中编辑的效果一样了。
注:从导航栏加载数据后,因为当前表没有改变,点击当前表时,记录窗口的数据不是随之改变,这时,只要双击主界面中的当前表,就可以了。
第七讲 高级筛选
狐表自带有高级筛选,但这个高级筛选,用代码无法关闭,不好控制,打开位置也不能控制,筛选条件中不带括号,筛选复杂一点,就没法进行。
本案例的高级筛选,停靠在下方,方便使用,可隐藏或显示,还带有括号,能进行复杂的筛选,并保存筛选条件。字段名按升序排列,查找容易,输入少量字符,按住Control键,再按回车,能模糊查找;字段值显示字段名中当前列的可选值,能直接选择,不一定要手工输入。
此主题相关图片如下:先睹为快004.jpg
此主题相关图片如下:先睹为快007.jpg
[此贴子已经被作者于2015/2/26 14:29:54编辑过]