2020年1月19日更新
1、修正了通过窗口输入数据时,DataColChanging有时会触发两次甚至三次的bug.
2、修正了XLS.Book不能保存为XLSX(Excel 2007格式)的bug。
3、给高级筛选窗口增加了"不包含"和"不类似"两种筛选。
4、现在的数值筛选、日期筛选和字符筛选,可以直接在筛选窗口修改筛选类型,这样出现误操作时,无需关闭窗口重新执行筛选命令:
2019年12月1日更新
1、修正了HTTP服务在接收第三方软件上传的文件时,可能会出错的bug.
2、Excel报表可以正常显示时段列数据了:
3、Word报表现在可以直接显示时段列数据,无需特殊设置,但统计子表的时候,需要在聚合函数之前加上冒号,例如:
[%加班表,:Sum(加班时间)]
4、在发布项目的附件页,增加了一个清除按钮。
5、修正了其他bug若干...
2019年10月22日更新
1、这次更新非常重要,以前的web服务有问题,在如果多人同时上传大文件,很容易搞崩服务器,测试方法很简单,直接上传一个2G的文件,服务器肯定会内存溢出,新版本重写 了文件接收功能,现在就是同时上传了10几个G的文件,服务器内存占用也不会明显增加了。
2、网络缓存再也不会导致远程自动升级失败了。
3、表事件Click、DoubleClick和DoubleClickRowHeader都增加了一个Button属性,返回触发事件的鼠标按键名称,例如左键为"Left",右键为"Right"
2019年10月15日更新
1、给交叉统计也加上了同比和环比分析功能,例如希望按月统计每个产品的销售数量,以及同比和环比增长率,以前是没有办法完成的,现在只需单击三次鼠标:
2、有关此功能的详细说明,参考:
3、分组统计的环比和同比分析功能有改进,以前勾选自动生成汇总模式时,年分组行只有统计数量,现在按年的同比和环比增长率也会自动得出:
4、本次更新重写了用代码设置汇总模式的文档,从这一节开始:
2019年10月12日更新
1、修正了可能导致DataTable内部索引损坏的一个bug。
2、修正了有时删除表可能会导致内置编辑框被销毁,出现空引用错误的bug。
1、给三个表事件KeyPressEdit、KeyDownEdit、KeyUpEdit增加了两个e参数:
SelectionStart: 返回或设置编辑框中选定内容的起始位置(光标位置)。
SelectionLength: 返回或设置编辑框中选定内容的长度。
以便于设计一些复杂的编辑功能,例如:
2、修正了开发过程中,将窗口事件BeforeClose的e.Cancel设置为True,有时依然可以关闭窗口的bug(发布后的程序不会有这个问题)。
3、修正了新版本在只加载部分数据的情况下,如果打开窗口编辑,一次增加多行,然后输入数据,保存,首个新增行的数据可能会覆盖末个新增行数据的bug。
2019年9月29日更新
Foxtable之前的保存机制,是不区分大小写,例如将单元格内容"a"改为"A",保存之后,重新打开内容还是"a",这是因为保存的时候Foxtable认为"a"等于"A",内容没有发生变化,所以就跳过去了
除了大小写,以前全角和半角也是不区分的。
本次更新修正了上述问题。
2019年9月26日更新
1、改进了Excel报表,以前需要指定打印条件或打印范围,排序参数和分组打印设置才会生效,现在不必要了,随便选择部分行打印,一样可以排序或分组打印了。2、修正了若干bug。 |
2019年9月18日更新
1、本次更新主要是进一步解决内存泄漏问题。
打开自带的"基本功能演示文件.Table",在命令窗口测试代码:
For i As Integer = 1 To X
Forms("窗口设计").Open()
Forms("窗口设计").Close()
ApplicationTitle = i
Application.Doevents()
Next
9月前的旧版本在X等于260左右,程序会变得异常或崩溃,9月初的版本初步解决了这个问题,X大概在1300左右程序会变成异常或崩溃。
本次更新之后,我测试了X等于10000,执行完毕之后一切正常。
为解决这个问题,数据绑定、窗口卸载和数据表卸载的部分代码已经重写,不排除会带来一些小bug,本次更新文件版本不变,商业用户可保管好旧版本安装程序,发现问题可随时用回旧版本。
2019年9月8日更新:
1、修正了一些内存泄漏bug.
2、修正了启动输入助手时,按Tab或Enter键无法移到其他单元格的bug
3、修正了在启用合计模式且自动增加行为True时,在最后一个数据行的最后一列按回车键,不会自动增加行的bug
2019年8月28日更新:
1、完善了HttpClient类,现在进行微信、钉钉、百度等第三方接口开发,会更加方便,参考:
2、修正了使用FTP进行远程升级时,不能在账户名和密码中包括符号的bug。
2019年8月16日更新
1、修正了当用TreeView的BuildTree方法根据某列内容自动生成目录树,而此列某些单元格内容后有空格等不可见符号时,BuildTree会出现执行错误,无法生成目录树的bug
2、修正了使用FTP进行远程升级时,地址不能出现端口号,否则会升级失败的bug
3、修正了使用FTP进行远程升级时,只能使用默认端口21的bug。
4、修正了将共享窗口脱离停靠位置,然后关闭窗口后,将再也无法打开任何共有窗口的bug.
2019年8月3日更新
搜狗、QQ和百度三大主流输入法,在Windows 10下和Foxtable已经完全兼容,不再需要编辑模式辅助了。
2019年8月1日更新
增加一个PY类,彻底解决汉字拼音转换问题。
2019年7月31日更新
1、修复了DataTable加载数据后不触发BeforeGetImage事件的bug
2、在Windows 10下设计窗口时,第一次设置Label的文字位置会出现错误提示的bug已经修复。
2019年7月28日更新:
1、增加编辑模式,用于提高输入速度,并解决Windows 10下的中文输入问题。
通过单击窗口右上角配置拦中的“编辑模式”按钮,可以进入或退出编辑模式。
并非只有在编辑模式下才能修改数据,非编辑模式下同样可以修改数据。
差别在于,在编辑模式下,编辑完某个单元格,按回车键、Tab键或箭头键移到其他单元格后,新的单元格会自动进入编辑状态,相当于自动按了一次空格键或F2键;直到用鼠标选择其它单元格,或按ESC键,新选择的单元格才不会自动进入编辑状态。
如果你使用的是Windows
10,个别输入法会有兼容性问题,在输入中文时,第一个字母偶尔会被"吞没",需要先按一下空格键,让单元格先进入编辑状态,然后再输入中文,在连续输入数据时非常不便;此时可以开启编辑模式,将不会有这个问题。
2、如果你使用的是安卓手机,那么WeUI之前生成的网页,Uploader是无法调用相机拍照上传的,这个问题已经解决。
要解决这个问题很简单, 只需将Uploader的Accept属性设置为"image/*",例如:
Select Case e.Path
Case "test.htm"
Dim wb As New weui
wb.AddForm("","form1","test.htm")
With wb.AddInputGroup("form1","ipg22","文件上传")
With .AddUploader("up2","图片",True)
.Accept = "image/*" '允许使用相册和相机
End With
End With
With wb.AddButtonGroup("form1","btg1",True)
.Add("btn1", "确定", "submit")
End With
e.WriteString(wb.Build)
End Select
如果希望不能从相册选择,而是直接拍照上传,可以再将Capture属性设置为"camera",例如:
Select Case e.Path
Case "test.htm"
Dim wb As New weui
wb.AddForm("","form1","test.htm")
With wb.AddInputGroup("form1","ipg22","文件上传")
With .AddUploader("up2","图片",True)
.Accept = "image/*"
.Capture = "camera" '只能拍照上传
End With
End With
With wb.AddButtonGroup("form1","btg1",True)
.Add("btn1", "确定", "submit")
End With
e.WriteString(wb.Build)
End Select
2019年7月21日更新:
1、DataTable增加一个TotalRows属性,用于返回分页加载时,符合当前加载条件的总行数。
2、修正了上一个版本使用SQLAddNew增加的行不能保存的问题。
3、使用FTP进行远程升级时,也能显示进度条了
2019年6月18日更新
1、现在选定用DrawCell事件绘制的单元格时,会融合两种颜色,这样依然可以标记出选定区域的特殊数据:
2019年6月12日更新:
1、HTTP服务增加缓存功能,参考:
使用缓存
一些网页文件,例如css、js、图片文件,很少会频繁更新,为提高效率,可以使用缓存:在一定时间内将文件缓存在客户端,这样客户端再次使用这些文件时,可直接使用缓存文件,无需再次访问服务器下载,以大幅度提高效率。HttpRequest时间有个CatcheTime属性,用于设置缓存时间,单位为秒。
示例
例如希望除html和htm之外的文件,全部在客户端缓存一个小时:
Dim fl As String = "d:\web\" &
e.path
If filesys.FileExists(fl)
Dim
idx As Integer = fl.LastIndexOf(".")
Dim
ext As String = fl.SubString(idx)
Select
Case ext
Case
".jpg",".gif",".png",".bmp",".wmf",".js",".css" ,".zip",".rar"
e.CacheTime = 3600
'缓存文件一个小时
e.WriteFile(fl)
Return
Case ".html",".htm"
e.WriteFile(fl)
Return
End
Select
End If
提示:
1、这只是一个示例,实际上静态的HTML网页也应该缓存的。
2、动态生成的内容也可以缓存,例如某个动态生成的统计结果,每天在中午12点数据才会发生变动,你可以计算距离下次数据变动的时间间隔,将缓存设置为此时间间隔。
3、缓存不是针对整个网站,是针对单次访问的内容,所以可以是静态文件,也可以是动态生成的内容,可以根据需要设置某次访问是否需要缓存,
3、在缓存期内刷新页面(例如在地址栏再次按回车或单击刷新按钮),依然会重新访问服务器下载文件。
2019年6月8日更新:
1、框架更换为.NET FrameWork 4.0
2、OpenQQ的内置聊天窗口可以设置标题和图标了,QQClient的OpenChatWindow改进后的语法为:
OpenChatWindow()
OpenChatWindow(Caption)
OpenChatWindow(Caption,IconFile)
参数说明:
Caption: 用于指定内置聊天窗口标题
IconFile:
用于指定内置聊天窗口的图标文件,必须为Icon格式,如果文件已经事先复制到管理项目的Images子目录下,则只需指定文件名即可,否则需要包括路径。
2019年4月2日更新:
1、修正了在最新版本的windows 10(版本号1809)下,使用打开或保存文件对话框后,会导致主创库菜单和标题栏无法正常显示的bug。
2、修正了独立窗口中的DateTimePicker绑定到列且只读的情况下,依然存在可编辑,及绑定失效,导致数据显示错乱以及可能被误修改的bug。
2018年7月9日更新:
1、新增Web数据源,轻松搭建三层架构的管理系统,具体说明参考:
http://www.foxtable.com/mobilehelp/scr/0284.htm
相当多的企业因各种原因,不允许在网络上开放数据库端口,而Web数据源和三层架构的出现,为他们解决了这个大问题。
Web数据源和传统数据源有本质区别,但是Foxtable的开发人员做了大量的工作,使得Web数据源和传统数据源在开发和使用上没有任何区别,原二层架构系统的代码在转为三层架构之后,代码不需要任何的改变。
我们可以在一分钟内将一个二层结构的管理系统转换为三层结构,或将一个三层结构的管理系统转换为两层结构。
对于菜鸟来说,因为Web数据源,服务器的设置更加简单, 而且互联网环境下可以直接用access作为数据源了。
本更新仅限高级开发版用户。
2、增加异步编程功能,支持多线程,提升服务器性能n倍,具体说明参考:
http://www.foxtable.com/mobilehelp/scr/3268.htm
Foxtable的异步编程非常简单,例如要将HttpRequest事件改为异步执行,只需修改三四行代码即可:
http://www.foxtable.com/mobilehelp/scr/278.htm
本更新仅限高级开发版用户。
3、SQLCommand开始支持参数化,执行SQL语句变得前所未有的方便,具体说明参考:
http://www.foxtable.com/webhelp/scr/3266.htm
4、SQLCommand支持存储过程的方式也所有改进,代码更简洁,而且可以支持存储过程的输入、输出和返回参数了,具体说明参考:
http://www.foxtable.com/webhelp/scr/3267.htm
5、HttpServer可以省略通用事件头,进行B/S开发和移动开发的时候,代码更加简洁,具体说明参考:
http://www.foxtable.com/mobilehelp/scr/0276.htm
6、SQLCommand增加ExecuteValues方法,用于一次获取多个值,具体说明参考:
http://www.foxtable.com/webhelp/scr/0696.htm
7、修正了合计模式无法正确合计时段列的bug
8、修正了汇总模式日期分组为无的时候,无法正确分组的问题。
9、交叉统计的水平合计列也能进行垂直占比分析了,例如:
Dim g As New CrossTableBuilder("统计表1", DataTables("订单"))
g.HGroups.AddDef("产品")
g.VGroups.AddDef("客户", "{0}_数量")
g.Totals.AddDef("数量", "数量")
g.HorizontalTotal = True
g.VerticalProportion = True
g.Build()
MainTable = Tables("统计表1")
生成的统计表为:
此主题相关图片如下:tongji.png
10、修正了查询表无法进行后台统计的bug
2018年9月9日更新
1、个人所得税计算函数已经按照最新的个人所得税法重新设计。2、解决了因电脑休眠之后无法给加密狗供电, 导致界面变灰的问题。
3、解决了从记录窗口打开下拉窗口后,点击其它区域无法自动关闭下拉窗口的问题。
4、解决了窗口Table排序之后,Table的Index属性错乱的问题。
5、解决了建立类似a-b,b-c,a-c这种交错关联时,会出现错误提示的问题。
6、解决了生成目录树时,无法正确区分半角和全角符号,导致目录树生成出错的问题。
7、解决了无法通过代码设置BarCodeBuilder的Pdf417ErrorCorrectionLevel属性的问题。
8、解决了Excel报表无法正确打印单元格中的双引号的问题。
9、解决了向WebUI的Article大量添加Content时,会出现因键值重复而出错的问题。
10、解决了对Table控件中的数据排序之后,Row的index属性值可能不正确的问题。
11、解决了克隆行不能克隆逻辑列的值的问题。
12、解决了快捷菜单中的重置列命令无效的问题
附2018年春季更新如下:
2018年3月9 日更新:
1、修正了AppendLoad不支持非DBO框架下表的BUG。
2、改进了BuildTree方法,在目录树列和排序列不相同时,生成的目录树不会再有断续问题。
3、Foxtable在数据管理方面的权限设置非常完善,但是在文件管理方面的权限设置几乎是空白,本次更新补上了这块短板,可以精确设置每个用户能访问和操控哪些目录,能上传下载哪些文件,甚至可以为不同的用户显示不同的文件列表,参考:
提示:此功能仅对高级开发版用户有效
2018年2月28日更新:
一、完善了代码编辑器,官方用4000行代码测试,着色、滚动和编辑速度,和40行的时候相比,基本没有差别。
二、改进了菜单编辑器,设计过程再也不需要层层打开和关闭了,在设计菜单过程中,随时可以单击预览按钮,设计中的菜单将直接在主窗口生效,方便用户进行测试,同时会出现一个浮动窗口,你可以:
A、单击浮动窗口中的“设计菜单”按钮,将直接回到之前的菜单设计窗口进行修改,无需重新逐层打开。
B、单击浮动窗口中的“保存菜单”按钮,将直接保存所有修改,无需回到菜单设计器保存。
此外,在任意层级的菜单设计窗口,单击“应用”按钮将关闭所有层级的菜单设计窗口,并保存菜单,同时在主窗口应用设计好的菜单。
三、加载树变得和筛选树一样便利了,体现在:
A、以前在显示加载树并启动后台筛选后,单击加载树不同节点后,因为会重新加载数据,所以筛选条件会消失,单击切换按钮无法重新筛选,必须重新设置筛选条件,非常不便,现在只需简单地单击切换按钮即可。
B、以前筛选树可以:
http://www.foxtable.com/webhelp/scr/3249.htm
现在加载树同样可以,甚至更方便:
[此贴子已经被作者于2020/2/29 11:04:25编辑过]