Releases: Daoting/dt
Releases · Daoting/dt
4.6.1
变更
- FvDlg.RefreshList -> OnUpdateList,UpdateRelated -> OnUpdateRelated
- FvDlg.Update FvDlg.Open -> FvArgs
- 删除DefFilterDlg
功能
- 增加Stub.OnInitFailed虚方法
- 增加树形单实体
- QueryClause支持外部设置where子句
- 增加单实体树形框架模板
- Dlg._taskSrc 转protected,方便获取对话框关闭时的结果
- VS扩展增加分项模板:LvTab FvDlg TvTab
- Fv增加按列数测量占用高度
- Table增加IsDirty,记录集合和单元格值是否有变化
- IEntityWriter增加 Save(Table p_tbl);
- EntityWriter增加保存后Table状态自动复位
- 显示Dt.Client版本号
- Menu Mi简洁写法
- 增加Form
- QueryFv条件之间【与】关系内置
- VS扩展增加一对多父子表单
- 系统中添加查找图标
- 共享类型样例
- 增加EntityX.GetScalar
- 增加CTree.Sql
- Fv增加LastCellEnter事件
- 增加Entity.Saved事件
- 增加Ec,精简实体转换过程的书写内容
- 增加LoginDs.Login事件
- 增加CompFlag.Null
- 框架生成默认查询内容
- QueryFv选项
- 增加CellList.TryGet
- QueryClause.Build增加参数p_fullSql
- 任务栏样式
- Win标题栏适配WinAppSDK1.5
- HomeMenu
- 收藏夹按钮
- TrayItem
- NotifyItem非win平台动画
- 增加Dlg.EnableClosingAnimation
- 删除WfListAttribute
- 调整排斥锁
- Lv增加快捷键 ctrl + F 筛选
- Lv筛选增加自定义筛选列
- Lv筛选增加组合筛选
- Lv数据源GroupData的筛选
- Tv增加快捷键 ctrl + F 筛选
- Lv增加表格视图时是否自动保存列设置
- Lv预览导出打印的设置对话框
- VS扩展自动生成权限代码
- Form父子表单支持动态IsReadOnly
- CList增加Lv分组属性
- Col增加Visibility,Cols增加显示/隐藏列方法
- 增加开源Chart库ScottPlot的样例
- 资源释放:
普通控件:如Lv Fv Tv等内置控件,资源释放自动执行,不需要代码控制
Win:独立窗口关闭时自动释放,嵌入主区的窗口在主窗口关闭时自动释放,不需要代码控制
Dlg:1. 设置OwnWin属性的在窗口关闭时自动释放
2. 若Dlg可多次关闭后再显示,最终可调用Destroy()释放
Bug修改
- EntitySchema.AccessInfo必须实时获取
- EntityX.DelByID 虚拟实体删除错误
- Sqlite查询虚拟实体时列类型错误
- Entity未设置Tbl标签时EntitySchema报错
- Kit.ContextLog空引用
- 系统->更新缓存文件->点击即更新
- 删除空的.sql.cs文件
- VS扩展DomainSvc模板错误
- Dlg.ShowAsync已显示时无法正常等待
- EntityEx.Delete使用实体的实际类型
- Lv表格视图初始无数据时宽度计算错误
- CList未设置源SrcIDs时,源为对象本身
- TabControl在PhoneUI模式无法切换标签
- TabHeader工具栏不采用固定左边距
- QueryClause生成where语句
- Fv跳过不适合自动设置焦点的类型
- TableSchema.GetSaveSql 字符串值为null或空时保存 null,省空间
- 切换用户登录后,菜单未刷新
- win调整主窗口大小切换两模式时崩溃
4.5.0
重点
完善报表系统,支持Excel Pdf格式,打通报表与Lv Table的导出、打印、预览
变更
- 移除UseWasmTools标志
- 公开Report的所有模板元素类和实体元素类
- 删除Excel.HideDecorationWhenPrinting
- 删除excel.PageSize
- Excel.Picture不再支持 Uri 和 ImageSource,只Stream方式,因无法导出
- RptTblHeader转RptTblColHeader
- RepeatFooter转RepeatColFooter
- 删除CallArgs.ViewItem,冗余
- 删除IModelCallback.GetReportTemplate
- Mask移到Dt.Toolkit
- 删除CList.ValID、CTree.ValID,容易费解,统一使用 SrcID TgtID 填充数据
功能
- FvDlg.Open关闭时返回true表示成功提交过数据(包括增删改)
- FvDlg提供默认保存删除功能
- Tv增加筛选框
- Demo服务放在Dt.MgrDemo.Svc
- cm msg fsm cosm服务默认使用KestrelServer
- 服务启动输出版本号
- BuildTools嵌入WebView2的本地网站和字体icon.ttf
- CHtml的WebView2采用本地网站
- 增加HtmlBox
- 增加MarkdownBox, Markdown编辑浏览功能
- 增加CMarkdown格
- 增加PdfView
- PdfView工具栏样式
- PdfView自定义下载文件名
- PdfView打印、跳转页面
- 引入QuestPDF
- 增加win版Pdf原生打印
- Excel报表导出Pdf
- 报表增加Pdf视图
- excel导出pdf时支持DtIcon字体
- excel导出xlsx文件时支持DtIcon字体,需要操作系统安装icon.ttf才显示
- excel导出pdf文件的目录树,移除Workbook,将Sheet作为一级目录
- 增加SnapBorder,在最低层,不可见,截图用的Border容器
- excel支持区域打印,区域打印可多页、可包含图片和Chart
- excel导出pdf时支持每个Sheet只导出指定区域内容,区域内可包含图片和Chart
- excel打印支持外框
- 统一excel打印和导出pdf时行头列头样式
- excel控件字体:外部未设置字体时中文默认宋体,其它 Times New Roman,导出pdf时相同
- 系统面板增加报表设计
- 报表设计左键菜单转右键菜单
- CBar支持多行自动加前缀
- 根据Fv单元格创建Row数据源
- 报表设计时的设置调整成对话框模式
- 报表设计参数模板
- 报表设计脚本数据源
- 报表设计Db数据源
- 报表模板增加RowHeaderCount RepeatRowHeader
- 生成表格报表支持重复多列行头
- 增加生成报表时自动调整纸张大小,确保只一页
- 增加报表设计选中元素右键删除菜单
- 页眉页脚都两行,控制和内容的边距
- 报表增加默认页眉页脚
- 报表表格矩阵标题默认样式
- 报表设计时的默认页眉页脚的控制
- 报表设计时批量修改边框
- 表格分组合并分组头分组尾,显示乱
- 表格分组增删分组行
- 表格分组行合并拆分单元格
- Cell增加Changed值变化事件
- 增加表格分组取值
- 报表平均值默认2位小数
- 修改报表模板xml后应用
- 报表内容支持嵌入图片
- 报表图片拆成独立RptImage
- 报表插入图标字符
- CColor可编辑颜色值
- Lv报表预览
- 精简Env CallArgs构造参数
- Lv报表导出普通文本
- 增加UIElementExt.GetSnapStream
- RptScript.RenderCell转异步
- Lv报表导出自定义单元格
- Lv报表导出自定义行样式
- CallArgs支持异步等待
- 报表表格无数据时也输出列头
- Lv的List Tile模式导出报表
- Lv的List Tile模式导出数据源时自动列宽
- Table数据预览及导出Excel Pdf及打印
- 移除RptViewSetting.IsPdfView,动态设置
- RptTab增加IsPdf,控制报表是否采用Pdf格式
- 整理RptTab右键菜单
- 涉及WebView2的Close释放资源
- 报表模板增加Sparkline报表项
- 报表模板编辑时报表项的复制粘贴
- 增加综合报表样例
- 增加RptScript.InitParams
- 增加RptInfo.Uri,支持3种格式:local ms-appx embedded
- AgentInfo增加构造方法
- 报表样例拆分多窗口
- 报表模板编辑增加打开、新建
- 报表参数样例
- 报表模板文件扩展名rpt,方便选择文件时识别
- RptInfo RptDesignInfo继承RptInfoBase
- 报表参数内置表达式样例
- 删除RptViewSetting的ShowSearchForm ShowQuery
- 新报表查询面板RptQuery
- 增加DlgPlacement.TargetOuterBottomRight
- 报表参数编辑
- 增加调用外部自定义报表参数缺省值的方法
- 增加Kit.GetAllTypesByAttrType 返回标签类型标记的所有类型列表
- 报表参数缺省值编辑
- RptText值连接符 ||
- 值变量增加新类型
- 编辑时批量平移报表项
- 报表模板保存时先清空原内容
- CBool不显示标题时Title为空显示ID
- 增加CList.Ex数据源样例
- ValueCall独立
- 增加CList.Ex扩展Sql
- CList.Ex的Sql扩展支持查询不同服务、不同本地库、多CList联动、调用内部表达式或外部方法变量赋值
- 报表查询框CList样例
- 精简CBar同时存在Title和Content时的写法
- 报表参数添加CList的xaml
- 增加报表查询框xaml模板
- CList可编辑时只有点击右侧的下拉才显示选择框
- FvDlg FvTab增加CheckChanges控制切换数据源或关闭前是否检查数据已修改
- 菜单中报表视图参数编辑
- 报表视图参数值 -> RptInfo.Params
- 报表视图参数选择模板
- 报表模板数据源编辑
- 增加Dt.Toolkit
- 升级引用包
- 报表适配android
- 增加net8.0-browser框架区分wasm 与 skia
- 完善Files\ResKit.cs,放入项目模板
- VS扩展增加美化Sql、报表查询面板
- 增加Sql类型,提供给CList CPick,方便在xaml中设置
- CPick增加Sql属性
- 增加SqlFormatter测试项目
- 报表参数设计时CList CPick的xaml编辑
Bug修改
- 框架模板中继承FvDlg的增加_win为null的判断
- FvDlg跟随OwinWin关闭
- UITree.MainWin.DispatcherQueue在关闭主窗口时可能为null
- admin页面服务版本错误
- Win.LoadMain时重复加载相同的Tab,无需增删
- Pdf报表视图布局错误
- 打开excel文件不显示图片
- 打开excel文件不显示图表Chart
- excel导出pdf时未包含图片
- excel导出pdf时未包含Chart,动态生成有难度
- excel导出pdf分页错误
- excel导出pdf分页时图片拆分处理
- excel导出pdf分页时图片位置错误
- excel保存成xls pdf xml前先清空流,避免覆盖比当前导出内容长的文件,导致不能打开
- excel打印分页算法bug
- excel打印Chart时未获取到数据源
- excel分页虚线统一使用PrintInfo,删除PageSize
- excel分页虚线算法bug
- excel导出pdf时左右对齐留边距2
- FvCell无初始修改状态背景色
- MiSplit在下拉或上下文菜单中样式错误
- excel打印导出pdf时dpi转英寸bug
- excel导出pdf时转英寸后小数位造成提前分页、空白页现象
- 解决excel拖拽滚动栏卡顿问题
- RptText合并单元格时边框有时不显示
- 报表单元格相同值水平合并
- ShowReport增加isPdf参数
- excel打印时最后的行或列隐藏时造成空白页
- Mi事件放过 KnownException 类型的异常
- CBar独立使用时右下边框不显示
- 对话框上弹出对话框时,重新调用Show时置顶对话框
- Lv有过滤框时上下键快捷键被ScrollView处理
- UIDemo中Lottie资源在android中重复,规范内容文件和嵌入文件的路径:Files\Content Files\Embed
- Excel在非windows平台加载图片出错、不显示
- 解决升级uno5.2后skia平台bug
- 升级uno5.2后调整DtControl事件顺序
- 升级uno5.2后wasm使用ttf字体,wasm中不支持RptText自动行高
- CText多行时因各平台换行符不同造成始终为修改状态,确保数据源中保存的换行符始终只是 \n
已知问题
- pdf.js在android运行错误,已提uno unoplatform/uno#15658
- 基于Skia的gtk wpf不支持WebView unoplatform/uno#4233
- winui,web都无法实现静默打印,影响所有打印
- 升级 net8.0 后wasm调试超慢
unoplatform/Uno.Wasm.Bootstrap#781
https://developercommunity.visualstudio.com/t/IDE-Freezes-when-hitting-a-breaking-in-C/10132527 - win11鼠标滚轮工作不正常 microsoft/WinUI-Gallery#1064
4.4.0
变更
- Dt.Infras Dt.Client包release版包含pdb,不再分开debug包
- 删HostOS,增AppType
- DataAccess 转 DbAccess
- 当前数据访问对象统一到At静态类
- AccessInfo转AgentInfo
- 图标改名:删除 > 叉号,垃圾箱 > 删除
- 删除切换服务功能,改为在Config.json中手动修改
- TreeView使用频繁,转简写Tv
功能
- skia.wpf支持win10之前旧版本
- 保留Wasm分享文字内容
- 处理wpf的DispatcherUnhandledException事件
- sqlite批量事务在gtk wpf可运行,只wasm不支持事务
- gtk wpf验证https服务端证书始终有效
- gtk wpf支持服务端推送数据流
- gtk wpf样例修改Package.appxmanifest,具有独立本地路径
- gtk wpf本地库文件备份、本地文件另存
- gtk wpf本地文件选择
- gtk wpf加载图片
- gtk wpf下载文件
- gtk wpf上传文件
- FileItem FileData 适配 gtk wpf
- 增加wpf项目模板
- 优化Lv显示速度
- gtk wasm wpf的全局快捷键
- gtk wpf 本地文件目录、复制窗口类型
- 增加设置处理日志的最小级别
- 客户端增加直连数据库功能
- 增加Config.json配置文件,配置服务、数据库连接串、标题等
- 打开实时日志时自动将最小日志级别调整为Debug
- 直连数据库普通增删改查样例
- IDataAccess统一NewID NewSeq
- 直连数据库实体增删改查样例
- android读取Config.json配置文件
- 直连数据库用cm_cache模拟redis缓存
- BatchExec支持多语句无参数的情况
- 增加IAccessInfo简化三种数据访问的架构
- 增加At.Framework
- 直连数据库启动时实时获取菜单
- 启动时增加架构描述
- wasm不支持直连数据库,不使用Config.json,在Config.js配置
- wasm不支持md5算法,登录放开
- 增加属性FvCell.Val
- 客户端增加数据库初始化功能
- 服务端数据库初始化移除样例库
- 服务端数据库初始化合并drop
- 客户端数据库初始化增加自选sql文件功能
- Nav标题为空的样式
- 精简系统面板
- VS扩展增加单平台sln
- TabItem增加OnSelected OnUnselected虚方法
- 增加FvTab LvTab,修改FvTab LvTab模板
- PhoneUI模式的LvTab FvTab
- FvTab增加前选项
- LvTab多选时刷新后不自动选择
- Mi增加内置按钮,多用于选项配置
- QueryFv切换到模糊搜索
- VS扩展增加FvDlg LvTab模板
Bug修改
- fsm接收上传文件时异常
- UnaryRpc中错误日志无输出
- EntitySchema缓存字典错误
- wasm的sqlite运行正常
- wasm中Oracle.ManagedDataAccess.Core隐式引用Kerberos.NET
- 主页固定菜单项未被加载
- 主页二级菜单导航错误
- Table缺少树的父节点字段名
- TreeView只含固定根节点无数据时出错
- Lv.SelectionChanged事件在切换数据源后没有触发
- Cell检查超长支持VirEntitySchema
- FvCell切换数据源时修改状态背景仍显示
已知问题
4.3.3
项目
VS扩展工具-4.3.3
客户端源码-4.3.3
样例源码-4.3.3
变更
- Icon字体放在Dt.Base下
- Images放在Shared下
- 提取AppBase,uno已支持
功能
- 适配gtk
- 支持多语言
Bug修改
- Win的Toast失效,重写,不再依赖Microsoft.Toolkit.Uwp.Notifications
- Stub构造函数中初始化Kit,避免过早使用Kit
- Win后台任务无法启动
- android应用完全退出时,后台任务在“禁止电池优化使用”的选项下可以自启动
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