Releases: Daoting/dt
Releases · Daoting/dt
Release list
4.3.2
项目
VS扩展工具-4.3.2
客户端源码-4.3.2
样例源码-4.3.2
功能
- CList CTree增加ValID属性,设置当前格对应的数据源列名,默认name
- FvCell.Changed加参数
Bug修改
- 升net8.0后启动bug
- Release版生成时程序集裁剪bug
4.3.1
项目
VS扩展工具-4.3.1
客户端源码-4.3.1
服务端源码-4.3.0
基础控件源码-3.1.0
变更
- 因Alt + 快捷键需要点击窗口获取焦点,调整为Ctrl + 快捷键 方式
- 将一个别名对应一个类型和对应类型列表分开
- 始终禁止xbf嵌入到pri文件,默认debug时不嵌入,release时嵌入,嵌入时包升级会造成引用项目都必须重新编译
- snow算法起始时间20231001
- CText默认实时更新,否则保存按钮不能实时更新状态
- 模型库不再包含视图
- 按照pg规范表、字段都小写
- cm_user 增改acc name,cm_wfi_item增加sender_id
- 区分账号、姓名,业务系统在绑定账号时可设置姓名
- sln后缀统一小写
- 简化事件参数类型
功能
- Lv表格调整列宽时按住ctrl显示宽度消息
- Fv增删FvCell hot有效
- Lv表格的Col列支持动态调整属性,支持动态增删
- Lv列表Dot支持动态调整属性、热重载,数据模板通过切换注释支持热重载
- BuildTools中生成字典内容时将一个别名对应一个类型和对应类型列表分开
- 增加共享类型的别名标签,用在两个无引用关系的dll之间的互相访问
- Mi增加Call事件,无事件参数,方便复用处理方法
- oracle number映射添加注释
- Fv切换数据源自动跳入第一个单元格
- 账号和手机号都支持登录
- 初始化库增加导入初始结构功能
- CLink的Click和Call事件
- Dlg加载Tab时设置缺省标题
- 设置FuzzySearch在Dlg的大小
- 权限增加模块、功能两级目录,适用权限过多的情况
- Win嵌入Dlg
- 判断权限的简洁写法
- Win的PhoneUI模式不占用标题栏
- 生成判断权限的类
- 权限增加两级目录的sql脚本
- Fv增加两快捷键:ctrl+s保存、ctrl+n新建
- 调整PhoneUI下Lv上下文菜单按钮样式
- 主页菜单增加收藏功能
- 任务栏主页按钮显示开始菜单对话框
- 工作台菜单项增加注释
- 收藏菜单排序
- CList在选项超过4个时默认显示过滤框
- Entity增加对视图的简单查询
- Fv增加AutoFocus控制切换数据源后是否自动获得焦点,默认false,但对IsAdded的row自动设置焦点
- 优化查询sql
- 增加Lv列表模式的列头
- Lv列表模式的自定义列头
- 统一4库对bool类型select时使用 fieldx='1' 的形式
- 默认主页增加待办任务
- 简化流程设计二级窗口
- 流程日志适配pg
- 流程工作项cm_wfi_item中添加sender_id
- 待办任务显示留言
- Win.LoadMain 支持加载 Tab
- 移除WfFormUsage,动态判断表单编辑状态
- Lv的ViewMode增加Auto,部分场景可根据View类型自行决定
- Lv的ListForm样式
- Col.Width支持 * 和 Auto
- IEntityWriter增加NeedCommit,判断是否有数据需要提交
- IEntityWriter.Commit增加参数,控制没有需要保存的数据时是否提示
- 服务端配置客户端实体存储使用的默认服务名
- IEntityWriter增加Delete(Table)
- 发送回退增加填写留言功能
- 升级net8.0
- 无桌面时用对话框显示窗口
- 增加CPick实现选择器的简单功能
Bug修改
- 命名空间与类名相同并放在根目录查找xaml
- FvCell编辑时Tab快捷键乱跳
- 上下文菜单弹出位置错误
- sqlite.GetScalar为dbnull的情况
- Cell为string类型时保留原始null值
- 调整初始化库时可为null的字段
- 在Dlg内部点击并且有遮罩时,传递到紧挨的下层对话框,比如:对话框有遮罩,点击内容弹出菜单,再点击对话框区域(非菜单内),确保菜单能关闭
- 可null枚举类型的显示
- CList选择后跳两格
- sqlite的sql语句中参数值null时必须转为 DBNull.Value
- CDate中DateTime?类型时default(DateTime) 转null
- MenuHome中在android上,Tab内的所有事件不触发,像被回收了
- Lv键盘上下移动选择行时滚动位置错误
4.2.2
Release 4.2.2
变更
- 导出模型库,将ExportToModel放入model.json
- 服务地址拆分成独立配置文件url.json
- oracle导出sqlite模型库时非常慢,将模型库和其它sqlite缓存数据分文件存储
- sqlite的model与其它sqlite文件分开存储,调整客户端
- 将开发调试、系统管理员的常用功能集成到“系统”,右键开始或快捷键:Alt + ↓
- DataTable中Copy是复制数据和结构,Clone是只结构,Table中调整成相同习惯
- 只要详细级别才输出sqlite的sql
- CopyToClipboard放入Kit
- 日志输出级别各对象分开,日志文件默认Info,trace默认debug
功能
- .admin页面增加版本号
- 增加客户端版本号
- win版app增加自动更新功能
- 增加TreeDiagram控件
- 优化oracle导出sqlite模型库的性能,增加导出过程日志
- 根据配置导出普通sqlite文件
- 客户端刷新sqlite缓存文件
- 主页右键增加本地库、本地文件,更方便,系统日志中的仍保留,确保未进入桌面时也可使用
- 增加打开服务日志
- 本地库增加刷新sqlite缓存文件
- 初始化库支持连接时自定义用户,可指定新用户密码
- Cell增加触发提示消息事件,FvCell自动显示警告信息
- 生成实体类增加c开头的Cell类型属性,方便使用
- oracle查询结果的enum bool 的特殊处理
- oracle的bool字段char(1),注释以 #bool# 开头,和枚举类似
- oracle导出模型库时bool类型的字段正确
- 客户端日志输出到sqlite文件
- 快捷键:
Alt + ↓ 系统
Alt + ← 动态日志
Alt + → 打开LocalState路径
Alt + ↑ 切换服务
Alt + 回车 复制窗口类型 - 客户端日志浏览
- 切换服务器地址
- QueryFv将查询、重置按钮放在内部,省去重复
- 客户端日志中提取sql的功能:sql中含变量时支持与参数值拼成完整sql
- Lv的Table模式标题行支持多行,自动调整行高
- 服务端html格式日志增加显示:客户端ip 调用位置 UserID
- "系统"原左侧列表方式调整为面板方式
- 搬运工样例 转 助手,增加查询其它App日志功能,需“以管理员运行"
- Entity的OnChanging钩子参数更易用
- Row Table增加的CellHook钩子
- Win增加 LeftPanes LeftPane 等属性
- Menu增加手动创建Mi的简化写法
- 实现fifo中在标题栏左上角显示Tab列表
- Lv列头多行时同步数据行高度
- Col多行支持@分割
- FvCell增加KeyUp事件
- Dt.Cells中的图标在pri中放入Dt.Cells.Icons,避免外部覆盖
- 打包时删除本地nuget的旧版本包
- 解决服务中Cell的错误
- 恢复Cell.GetValInternal异常时给出ID提示
- 桌面任务栏作为app窗口标题栏
- 任务栏支持外部自定义开始和托盘内容
- Dlg增加从8个边缘角滑入的选项
- Nav构造方法去除fifo中dll写法,用View代替
- 窗口、对话框也可复制类名和xaml
Bug修改
- 库初始化异常时恢复按钮状态
- 优化数据库初始化向导,简单易懂
- boot服务启动bug,启动过程拆分成独立
- 确认对话框、错误对话框不支持非UI线程显示
- Phone模式页面内容有水平滚动栏时不支持左右滑动
- 设置Lv.SelectedItem和SelectedIndex时触发的SelectionChanged事件参数值类型不同
- Fv的CTip不接收Tab停靠
4.2.0
变更
- 权衡利弊,以key获取sql语句的方式调整为调用存储过程,key=存储过程名,调用IDataAccess的程序无需调整,需要将cm_sql表的sql语句移植到存储过程
- 升级服务端引用包
- 升级客户端sqlite相关包
- 因支持4种数据库,命名特点各不相同,为实现自动生成实体的属性符合命名规范,基础的表名、字段名都采用小写,单词间以下划线分隔,生成的属性名符合Pascal规则,无下划线,建议业务表和字段都采用中文
- IDataAccess增加创建IEntityWriter,调整DomainSvc中的写法
- 服务启动时不再缓存所有库表结构
- 生成Entity代码3个文件,tbl.cs sql.cs .cs
- 生成DomainSvc类2个文件,sql.cs .cs
- service.json将单体模式和初始化库合并,cm配置增加导出模型库设置
- 序列名称:表名_字段名,4库不同的取序列值方法,时间类型统一精确到秒
功能
- 增加EntityX.GetCount方法
- .admin页增加初始化数据库功能
- 增加PostgreSql支持
- postgresql必须设置CommandBehavior.KeyInfo才能查询到列结构信息,含列结构信息时pg最慢!
- 增加获取当前服务默认数据库的类型、键名
- 初始化库增加demo库
- TableCol记录所属TableSchema
- VS扩展实体类选择表时增加“表名不包括前缀”选项
- oracle插入更新时bool类型自动转换
- postgresql分页查询功能,根据id查询数据不能为string
- Win中停靠的弹出面板可拖拽调整尺寸
- 等待对话框
- Entity 反序列化时对于byte short类型的列根据属性类型自动转 enum 类型
- 增加调用存储过程返回Table的demo
- 支持视图生成Enity
- 增加视图实体的增删改demo,mysql sqlserver能保存的列最多,oracle只可保存主键列所属表的列,pg视图不能保存数据
- 系统日志增加复制select语句的功能,方便调试查询语句
- 增加Table 作为 ITreeData时父节点id的列名
Bug修改
- Win中停靠在四周的Tab在固定、停靠切换时丢失弹出面板的尺寸
- 解决Excel控件中公式不再重新计算bug
4.1.1
变更
- Cols不再继承KeyedCollection,支持重复列id
- IFvCell移除IsHorStretch、添加ColSpan,FormPanel重写布局算法
- 将LobKit登录用户相关回调放在Kit中
- 修改global.json中数据源配置,控制是否可导出到模型
- 初始Sqlite库、Execute、BatchExec调为异步
- 多数据库sql语句参数前缀不同
- 不同数据库类型的分页语句
- QueryFv FuzzySearch 只负责查询内容,查询sql的动态生成放在QueryClause,也可自定义生成sql
- 同步调整VS扩展中的框架模板
- where true 或 where false 除mysql外都不支持
- 表名采用库里原始大小写,比较时大小写不敏感,oracle生成的sql在表名字段名加引号
- cm服务中导出模型的配置放在model.json
- 单体服务支持每个服务连接不同库
- rpc调用添加服务名,涉及所有类型rpc
- 服务端缓存sql、根据key查询sql支持三种库类型
- VS扩展的服务项目支持连接不同库
- 三种数据库的序列问题
功能
- 增加更新模型菜单项
- 增加全局Dt.Base.SelectionMode别名
- Sqlite模型文件支持:多个数据库、多种数据库
- 增加可配置的空服务
- 升级uno4.9,Wasm支持UIElement.ProtectedCursor MediaPlayerElement
- Lv增加Defer()
- Lv增加Where
- Fv增加Defer()
Bug修改
- 文件管理中的FolderPage因获取权限异步,造成初次加载时空引用
- Excel的表格的标题下拉箭头点击后报错,无法弹出过滤、排序对话框
- Excel打印功能升级WinUI后报错
- 涉及元素光标的ProtectedCursor通过InputSystemCursor.Create赋值时锁死,比如:ColHeaderCell,观察
- wasm使用new Rect()布局时无法隐藏元素,统一用Rect(-1, -1, 0, 0)
- 解决增加下载文件次数异常
4.0.1
变更
- 流程定义中删除FormType ListType字段,使用类型别名
- 优化Entity的Hook
- Entity增加OnInit方法用来统一添加当前实体的所有回调方法,主要包括三类回调:保存前、删除前、Cell.Val值变化前
- 服务端生成Entity方法
- 修改客户端和服务端的DataProvider调用Entity的保存前、删除前回调方法
- 修改服务端生成实体类及扩展部分的方法
- VS扩展用到表名列表和表结构信息都采用实时获取方式,不使用服务端缓存
- 增加demo服务,用于业务样例
- 删除Row.AttachHook,重新生成Entity文件放在Domain下
- Entity增加GetByID,调整服务端生成Entity的方法
- 增加EntityEx类,添加静态查询方法,重新生成项目中的*.Designer.cs文件
- 增加EntityEx类,添加静态保存方法
- 增加EntityEx类,添加静态删除法,重新生成项目中的*.Designer.cs文件
- 增加UnitOfWork类,添加保存删除方法
- Entity增加静态方法DelByID,重新生成*.Designer.cs文件
- 服务端删除EntityAccess和DataProvider,增加IDataProvider接口,为支持多种库类型准备
- 修改总体架构图,增加客户端Domain部分
- VS扩展工具类的命名空间默认到一级目录模块名
- VS扩展工具单实体框架调整
- VS扩展工具单实体框架生成自定义查询面板
- 客户端增加本地事件的定义、发布、处理,和服务端用法相同
- 替换DataProvider中Save Delete方法,移除DataProvider<>,调整到EntityWriter
- 实体类后缀 Obj -> X
- EntityEx.DelByID支持直接删除,不经过校验领域事件等
- CellUI -> LvCall, MidVal -> FvCall, IMidVal -> IFvCall
- 因Mv内菜单无法绑定,将Mv合并到Tab,对于自定义Mv需要修改两处:Mv -> Tab, Win中xaml删除自定义Mv的外套Tab
- 登录过程移至客户端
- 领域服务用静态方式替换单例模式,增加样例
- DtControl的虚方法OnControlLoaded修改为OnFirstLoaded,方便理解
- Entity增加OnSaved OnDeleted回调
- Entity的GetByID GetByKey不再涉及缓存,GetFromCacheFirst专门用于优先从缓存读取
- 原通过DeleteBySvc SaveBySvc处理UserObj的缓存和领域事件移植客户端
- Rbac基于角色的访问控制
- 客户端缓存数据:可访问的菜单,具有的权限,数据版本号用到时比较、更新
- 文件 发布 报表管理 参数定义 用户设置 选项管理功能
- 开始菜单项提示信息由各视图自行处理
功能
- VS扩展增加批量生成实体类功能
- 增加业务样例项目
- Col无Title时显示ID
- 增加查询面板QueryFv,FvCell支持比较符
- Row增加To方法,和任意Entity类型转换,共用_cells
- 生成的实体类增加和外部共用Cells的构造方法
- 增加虚拟实体,并在EntityEx和UnitOfWork中处理
- BuildToos增加Dt.Core.DtDictionaryResource().Merge()
- 增加EntityX,将Designer的静态方法放入泛型中
- 增加 IEntityAccess IEntityWriter 接口
- UnitOfWork 改 EntityWriter私有类
- 两端增加 DomainSvc 领域服务基类,BaseApi 改为 DomainSvc
- EntityEx的普通实体方法:增删改及批量,及EntityX.DelByID
- 实体领域事件样例
- 虚拟实体的增删改查样例
- 父子实体的增删改查样例
- 实体缓存样例
- 生成的实体类增加自定义服务名
- sqlite的增删改查样例
- 系统日志增加复制和除此清空功能
- sqlite的增删改查记录系统日志
- 系统日志增加输出附加属性
- 测试sqlite本地库涉及的改动,修改bug
- 服务端实体的增删改查样例
- 增加支持窗口xaml的精简写法
- 升级uno4.7.37,完善Tab相关的文档
- VS扩展工具单机版项目模板bug
- 添加单实体及虚拟实体框架模板、样例
- 虚拟实体的内部实体Cell值变化时统一内部实体的OnChanging回调
- 虚拟实体和内部实体IsChanged的状态同步
- Tab区域内导航增加切换Tab和返回首页的功能
- VS扩展工具一对多模板
- 多对多模板及样例
- EntityX的Query Page First支持完整sql查询
- 完善文档
- 多Tab在Dlg中显示
Bug修改
- Fv格标题提示被截断的长文本
- Mv中Menu的项无法绑定,如保存按钮的IsEnabled,以合并到Tab
3.3.0
3.2.4
Bug修改
- Lv自定义单元格UI重复绘制
- NavList递归触发嵌套子窗口Closing事件
- Win的Main或Pane的子项类型错误时不抛异常,提示错误,winappsdk 1.2已处理异常但没升级
- 继承Win的子类或任意Control子类若没有对应的xaml,放可视树不显示,会异常退出,和uwp早期版本一样
- Excel切换显示网格_excel.ActiveSheet.ShowGridLine无效
功能
- 优化NavList
- 增加Lv行样式动态切换样例
- 增加Lv单元格UI动态切换样例,完善Lv文档
- 增加自定义格取值赋值过程
- RptView工具栏菜单
- 报表组的报表列表采用NavList
- 从开始菜单打开报表窗口和报表组窗口
- 报表查询基类及查询对话框
- 报表增加工具栏菜单和上下文菜单的控制
3.1.0
变更
- Lv自定义行列UI的调整:
移除CellEx静态类自定义行列UI的方式
增加 Lv.ItemStyle 回调方法自定义行样式
移除 Col.UI Dot.UI 属性
增加 Col.Call Dot.Call 属性,自定义单元格UI的方法名,多个方法名用逗号隔开,形如:Def.Icon,Def.小灰
功能
- 增加Stub.Reboot方法支持切换Stub新实例重启
- Dt.BuildTools 增加对wasm发布时清理无用文件,处理PWA缓存文件重复的问题
- 类型别名字典中每个别名对应一个类型列表
- 后台功能确认:文件 通讯录