dt

利用 C# + XAML 进行快速业务开发的跨平台框架(搬运工)

Stars
54
Committers
1

Bot releases are visible (Hide)

dt - 4.5.0 Latest Release

Published by Daoting 5 months ago

重点

完善报表系统,支持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

已知问题

dt - 4.4.0

Published by Daoting 9 months ago

变更

  • 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切换数据源时修改状态背景仍显示

已知问题

dt - 4.3.3

Published by Daoting 10 months ago

项目

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应用完全退出时,后台任务在“禁止电池优化使用”的选项下可以自启动
dt - 4.3.2

Published by Daoting 10 months ago

项目

VS扩展工具-4.3.2
客户端源码-4.3.2
样例源码-4.3.2

功能

  • CList CTree增加ValID属性,设置当前格对应的数据源列名,默认name
  • FvCell.Changed加参数

Bug修改

  • 升net8.0后启动bug
  • Release版生成时程序集裁剪bug
dt - 4.3.1

Published by Daoting 10 months ago

项目

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键盘上下移动选择行时滚动位置错误
dt - 4.2.2

Published by Daoting about 1 year ago

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停靠
dt - 4.2.0

Published by Daoting about 1 year ago

变更

  • 权衡利弊,以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
dt - 4.1.1

Published by Daoting over 1 year ago

变更

  • 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)
  • 解决增加下载文件次数异常
dt - 4.0.1

Published by Daoting over 1 year ago

变更

  • 流程定义中删除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
dt - 3.3.0

Published by Daoting almost 2 years ago

变更

  • 解决代理服务DataProvider类型小写的警告,调整为大写内联类型
  • SqliteProvider库名类型调整为大写内联类型

功能

  • 升级.net7.0
  • 升级服务端、客户端引用包

Bug修改

  • android平台过时API警告
  • iOS平台过时API警告
  • 解决升级.net7.0后wasm生存错误
  • 后台任务启动构造Stub时App为null
dt - 3.2.4

Published by Daoting almost 2 years ago

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
  • 从开始菜单打开报表窗口和报表组窗口
  • 报表查询基类及查询对话框
  • 报表增加工具栏菜单和上下文菜单的控制
dt - 3.1.0

Published by Daoting almost 2 years ago

变更

  • 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缓存文件重复的问题
  • 类型别名字典中每个别名对应一个类型列表
  • 后台功能确认:文件 通讯录
dt - 3.0.1

Published by Daoting almost 2 years ago

变更

  • 将使用标准服务的管理功能全部拆分迁移到Dt.Mgr,Dt.Core Dt.Base与标准服务无任何耦合
  • 增加Dt.BuildTools,自动生成Stub的字典代码
  • sqlite数据查询转异步方法

功能

  • VS扩展工具新建项目时增加向导
  • Kit.ShowRoot 支持 View
dt - 2.8.7

Published by Daoting almost 2 years ago

内置管理系统的最后版本,下版将管理系统拆分独立

dt - 2.8.2

Published by Daoting about 2 years ago

功能

  • PhoneUI版提示信息框增加动画
  • PhoneUI模式增加切换Tab方法

Bug修改

  • [ios]Lv TreeView 绘制死循环
  • Fv中颜色选择不显示
  • [ios] 工具栏菜单死循环
  • [ios] Excel迷你图、分组排序、冻结线死循环
  • [ios] 报表死循环
  • Lv TreeView 外部有滚动栏时布局未刷新
  • wasm提示信息框动画样式调整
  • Excel在uno4.5.x 后因iOS版切换Tab时内容不显示,改为Add方式
dt - 2.8.0

Published by Daoting about 2 years ago

功能

  • 升级到 .Net6.0 + WinAppSdk1.5(WinUI3.0) + Uno4.5
  • 不再支持的API列表:https://docs.microsoft.com/en-us/windows/apps/desktop/modernize/desktop-to-uwp-supported-api
  • 删除PhoneUI模式下窗口左上角的后退按钮
  • Window.Current.CoreWindow.GetKeyState -> InputKeyboardSource.GetKeyStateForCurrentThread
  • Window.Current Window.Dispatcher DependencyObject.Dispatcher 始终null,改用DispatcherQueue
  • ProtectedCursor 加载到可视树前设置崩溃,无提示!
  • FileOpenPicker, FileSavePicker, FolderPicker 增加Window句柄
  • Win版Application的Suspending Resuming 事件已移除,Kit-Sys.cs
  • Button Menu交互样式调整
  • 全局快捷键适配WinUI
  • wasm版日期选择CalendarView、DatePickerFlyout、TimePickerFlyout已实现
  • 启动时增加Kit.IsUsingDtSvc判断,GetConfig提前调用
  • Kit.Msg Kit.Warn增加动态调整信息的功能
  • GMImagePicker.Xamarin不再升级,升.net6.0不兼容,合并到Dt.Cell
  • NotifyItem动态自动关闭,动态回调
  • 使用Serilog,完成日志的file console trace输出
  • Dlg 标题和菜单平分标题栏宽度
  • wasm通过StorageFile 可以保存文件
  • Xamarin.Essentials 升级到 Microsoft.Maui.Essentials
  • wasm不引用Microsoft.Maui.Essentials
  • [window]升级 Microsoft.Maui.Essentials 后,除无法"分享"外,其余正常
  • 升级maui rc2后 Dt.Cells包的GMImagePicker 引用Xamarin.iOS 转为 Micorsoft.iOS
  • Dt.Core不依赖Dt.Base中的样式 ,修改NotifyItem
  • 增加uno在debug状态下的日志输出
  • 移除继承Application的 BaseApp,功能合并到Stub,因uno的InitializeComponent()中使用 base.GetType().Assembly 造成莫名崩溃,5天才查出原因
  • Dt.App因App名称易混改为Dt.Mgr
  • Agent项目合并到Dt.Base
  • Notify的UI移动到Dt.Base
  • [ios] SqliteConnection初始化异常 ,无法启动,SQLitePCLRaw 2.1.0 preview以后版本无异常
  • 字体ttf文件放在win项目中,其他项目引用
  • Client-Stable 改名Infra

Bug修改

  • Release版的Service Api生成代理类时方法无注释
  • Lv的Table模式列头排序只在Tapped事件触发
  • Phone模式标题栏触发右键菜单位置调整
  • BackgroundTask 的TimeTriggeredTask 能注册、触发,和uwp调试方式相同
  • 点击Toast自启动传参数问题
  • win版Excel样例中 ChartExcel.xaml 报错,Dt.Cells.Data.Utility.GetFontWeightString()问题
  • 合并WinUI库的默认样式,DefaultLogin.xaml 的 ProgressRing 正常显示
  • Lv中行的上下文菜单按钮和行的ItemClick事件同时触发
  • uno4.1.8 后Lv面板与外部ScrollViewer的相对距离和WinUI调整为一致
  • [iOS]Lv.Toolbar在Table模式时 MeasureOverride 死循环
  • iOS版CDate除TimePickerFlyout.TimePicked事件外,都正常
  • 删除Common.props中的SingleProject ,即可移除项目中的Android 目录

服务

  • 所有服务升级到.net6
  • 调整项目结构,支持合并所有微服务为单体服务
  • pub合并到cm, editor放入fsm
  • 调整fsm静态文件的虚拟路径为drv,避免和其他服务冲突
  • cm的GetConfig增加提供服务url列表,service.json 调整后支持实时更新服务地址
  • 客户端rpc采用动态服务路径
  • 用Kit.Rpc封装Api调用,客户端和微服务之间rpc相同
  • 每个微服务Api的Rpc调用
    采用独立程序集,供客户端和其他微服务调用
  • 支持非内置类型序列化
  • 原pub的管理功能,表名规范按cm
  • 服务监听rabbitmq的队列变化事件,更新服务列表
dt - 1.9.11

Published by Daoting almost 3 years ago

  • 升级到uap10.0.19041
  • VS2019 和 VS2022 Preview 同时使用
dt - 1.9.10

Published by Daoting almost 3 years ago

功能

  • 增加NavList,替换原有的MainInfoLv方式
  • 为上架到商店,样例设为主页
  • 通用的隐私政策及用户协议对话框

变更

  • 精简常用画刷的名称
  • 因放商店服务端不自动注册账号
  • Mv.OnInit 在Loaded事件时调用

Bug修改

  • Lv 切换数据源、删除行后的布局bug
  • CNum采用 NumberFullWidth 键盘,Number键盘无小数点
  • Lv滑动时行交互背景不消失
  • uwp的release版 Excel的画刷改名
  • Dot中string空时不显示
  • win模式Win切换主区时若保存布局后再加载布局错误
dt - 1.9.9

Published by Daoting about 3 years ago

功能

  • 实体类中增加enum的支持,包括sql查询、序列化反序列化
  • Dlg修改为独立遮罩,无遮罩时也可控制是否允许将点击事件传递到下层对话框
  • Entity的OnSaving OnDeleting 返回值Task,不再支持void,因服务端通过EntityAccess 时异常内容无法获取
  • MainInfo增加Cache属性,实现INotifyPropertyChanged
  • 增加首次运行向导页功能
  • 手机横竖屏不支持UI自适应,始终为PhoneUI模式
  • Lv分组模板统计功能
  • CTip增加Click事件
  • 两UI模式切换后老窗口能自启动, Stub中可设置Startup.AutoStartOnce
  • Dlg增加TargetOverlap 布局
  • 增加Mv控件,能够放在Tab中支持内部导航
  • 调整Dlg、ToolWindow样式
  • 增加 SearchMv 控件
  • VS插件增加三种框架模板
  • Lv顶部增加工具栏,放置排序筛选等
  • Lv 默认筛选对话框
  • android ios uwp后台服务
  • android ios uwp点击通知栏,根据参数自定义启动

变更

  • Lv的上下文菜单在Phone模式默认为按钮触发
  • 调整默认字体大小,15 -> 16
  • 控件适配默认字体
  • 删除FvCell.ShowStar属性
  • PhoneUI模式页标题20px
  • Tab.Pin按钮只用作返回,Pin按钮转为右键菜单
  • 删除Tab.PhoneBar
  • 删除Win.Home,增加Tab.Order控制首页显示
  • 实体对象名增加Obj后缀,避免重复命名
  • 删除SearchFv

Bug修改

  • Dlg禁止获得焦点时调整显示层次,太乱!
  • Dlg 背景遮罩放在Dlg外部
  • ChatMember.Sex 转Gender
  • CText内部的TextBox的清空按钮无效,输入法
  • ios wasm 中 Fv的 CText 长文本回车跳格的问题
  • wasm版Chat的子Canvas不绘制的bug,uno已解决
  • 两UI模式切换事件SysVisual.ViewWidth值不对
  • Menu在手机大字体模式显示不全
  • SysVisual.ViewWidth 采用 Window.Bounds.Width
dt - 1.9.6

Published by Daoting over 3 years ago

功能

  • 因sqlite调整重构生成存根代码
  • 本地sqlite数据的备份与删除
  • 添加接收分享功能
  • 本地库增加分享库文件功能
  • msg服务支持同一账号多个会话
  • 远程事件组播时实现等待调用结束
  • 增加Dlg对话框关闭时的返回值,返回值传递给ShowAsync OnClosing OnClosed方法 和 Closing Closed事件
  • wasm完成视频通话功能

变更

  • 服务端导出sqlite模型只使用Microsoft.Data.Sqlite,无类型映射
  • 重构sqlite客户端代码,调整为DataProvider 风格,映射类型转Entity,支持自定义sqlite库
  • 服务端生成ID时去除3位标志位
  • AtSys AtKit AtUser AtApp合并为Kit
  • ImgKit CrossKit合并到Kit
  • 服务端Glb ID等合并到Kit
  • Bag EventBus Cache合并到Kit

Bug修改

  • Lv自动生成列时,切换数据源报无旧数据源列的警告
  • ios版System.Text.Json 序列化json串时异常,将nuget包system.text.encodings.web的netstandard2.1 下的dll用2.0的替换解决
  • CNum.Scale因和UIElement.Scale重名,xaml中赋值时异常,改名Decimals
  • sqlite第一行含空时的列类型错误
  • 避免win内部导航时自己导航到自己的情况
  • SqliteCommandEx 可空列bug
  • 3.8.6 DatePicker TimePicker已正常
  • Lv的分组导航头不显示时在android上也堆在一起绘制
  • 解决msg服务离线消息异常
  • ios wasm注销时停止接收推送