- 博客(25)
- 资源 (3)
- 收藏
- 关注
原创 DEVEXPRESS控件CXGRID实现多列模糊查询的实现
/设计期在Properties中设置好也可.(SenderasTcxExtLookupComboBox).Properties.CaseSensitiveSearch:=False;//设计期在Properties中设置好也可.这个操作的实现得到大侠“淡淡的风”的启发,受到微信群里的群友“左手拉右手”的大力帮助。
2025-01-14 13:02:05
1044
1
原创 解决UniGUI中动态创建控件时,控件不按序显示的问题。
这两天遇到一个问题:我在UNIGUI中多批次动态创建控件,但是这些控件在显示时并没有按我想要的顺序排列。在手机中从上到下按顺序显示出来,当第一批次时会按序从0到5显示,但第二批次时却是在0与1之间显示下一批次,即第二批次的控件被创建在0后,1前。2、3、4、5则在最后,第三批次也是这样。但我想要的顺序是0,1,2,3,4,5,6,7,8,9,10...,而不是0,6,7,8,9,10...,1,2,3,4,5。后来在QQ群上向大佬们请教,最终在“时间、只为等(QQ 669216072)“的帮助下解决问题。
2024-07-16 11:45:50
254
原创 用UNIGUI实现的网络共享打印(云打印)效果
如果我的数据和打印的模板都放在远程服务器的数据库中,那我只需要在客户端(PC或是移动端均可)向软件服务器发送打印的标识符,由软件服务器收到我的标识符后,查找对应的数据,按对应的打印模板进行打印则可。所以,我在UNIGUI的UniServerModule中创建了一个public的procedure,参数是查询数据和打印模板的参数。打印时可以指定打印机,也可以在procedure设置打印机参数。由于之前没有试过,所以在QQ群和微信群上和大家交流讨论,大家的想法莫衷一是,所以我整理了一下思路。
2024-07-16 11:26:39
280
原创 unidbgrid 根据条件设置单元格字体颜色及其它格式
procedure TD11F.dbgD12DrawColumnCell(Sender: TObject; ACol, ARow: Integer; Column: TUniDBGridColumn; Attribs: TUniCellAttribs);begin if Column.FieldName='DX2_13' then begin if Column.Field.DataSet.FieldByName('DX2_13').AsFloat>Column.Field....
2021-07-26 23:33:52
640
原创 解决UniQuery新增数据时,FireBird3自增字段出错问题
FB3已经支持在主键字段上创建自增字段,语法如下:B31_1 INTEGER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,一直以来不曾用过FB3的自增字段
2021-06-12 16:47:56
423
原创 解决UniDBTreeGrid在数据更新后自动折叠的问题
UniDBTreeGrid控件在数据更新之后,总是会自动折叠,我想要让它既更新了数据,又不自动折叠。解决的办法如下:UniDBTreeGrid -> ClientEvents ->1. UniEvents ->function beforeInit:function beforeInit(sender, config){ sender.expandedNodes=[];}2. ExtEvents ->functionstore.beforelo...
2020-10-25 00:03:46
478
原创 解决低版本fastReport在高版本中出现乱码的问题
之前一直很苦恼低版本的fastReport报表文件在高版本中读出时出现乱码的问题。解决办法:1、首先用EditPlus 5软件打开报表文件,如果出现对话框说要用别的文件编码(字符集)打开,选择UTF-8打开。2、由于fastreport报表文件用的是XML格式保存,因此,打开后,在首句中加入:standalone="no"如图:3、重新在fastReport中打开报表,再保存就可以了。如果还不行,请查询文本框控件的字体字符集是不是默认的...
2020-08-25 10:49:03
1530
原创 解决UnimTabPanel选项卡控件设置某一页失效的问题
在程序中通过代码UnimTabPanel1.ActivePageIndex:=0;或者UnimTabPanel1.ActivePage:=UnimTabSheet1;切换UnimTabPanel选项卡控件页面失效。或者说只能第一次生效,第二次就不行了。解决办法:1、首先在UnimTabPanel1的Change事件中加入一行注释,什么内容都不重要;2、在需要改变选项卡的事件中写下如下代码:case UTP.ActivePageIndex of 0:UTP.ActivePage..
2020-08-25 10:25:35
463
原创 advstringgrid自动合并列单元格方法:MergeColumnCells(ColIndex: Integer; MainMergeColumn: Boolean)的使用
advStringGridm网格控件提供了一个自动合并列方向上单元格的方法:MergeColumnCells(ColIndex: Integer; MainMergeColumn: Boolean)。这个方法有两个参数,第一个表示在在哪一列上进行合并操作,合并是有条件的,那就是单元格上的内容必须相同;第二个参数表示,这个合并列是否参考主合并列。当设置为true,则表示这是一个主合并列,无需参考...
2019-05-08 13:19:03
1882
原创 cxGrid动态创建列+为某列内嵌下拉框
一、动态创建列方法1:var i: Integer; Column: TcxGridDBColumn; cxView: TcxGridDBTableView; begin cxView := Self.Levels[0].GridView as TcxGridDBTableView; if cxView.DataController.DataSource <...
2018-03-02 22:49:53
3334
原创 kbmMW—实现主从关系表的方法
环境:delphi XE10.2.2+kbmMW5.02+uniDac7.02+FB3.0在日常应用中,我们经常会用到主/从(Master/Detail)关系表,如客户与订单、角色与权限等。在kbmMW中实现Mater/Detail关系表的方法有两种,各有优缺点。下面是我实现这两个方法的过程。首先,我对kbmMW是不了解的,并受到之前开发的影响,一直认为在客户端一个数据集控件(TkbmMW...
2018-03-02 15:05:55
720
原创 kbmMW--客户端更新数据到服务器
环境:delphi XE10.2.2+kbmMW5.02+uniDac7.02+FB3.0 当客户端对数据进行了增加、更新、删除的操作,我们必须把这些操作返回到服务器端,并对后台数据库进行更新。kbmMW 可以很方便的实现这一功能,今天就做一个更新数据到服务器的例子。 还是在昨天的基础上,我们要把客户端的信息更新到服务器上,首先需要在服务器端的Tkbmqueryservice设置允许客户端更...
2018-03-02 10:58:23
665
原创 KbmMW-多层数据库访问服务
环境:DelphiXE10.2.2+kbmMW5.02+unidac7.02+FireBird3.0打开我们以前的例子,在from里添加以下几个控件UniConn(TUniConnection):控件里面设置我们要访问的数据库配置;kbmIBMD(TkbmMWInterbaseMetaData):主要是用来控制生成访问数据库SQL的具体语法的,例如不同的数据库对字段、参数、表名的表达不完全一样,这...
2018-03-02 10:55:34
1142
原创 kbmMW--返回流到客户端
kbmMW--返回流到客户端环境:delphi XE10.2.2+kbmMW5.02在第一个简单的例子,服务器返回给客户端的是一个简单的变量,但是在日常的应用中,往往需要给客户端传输大量的数据,例如要返回流,在kbmMW 里面返回流也是比较方便的,下面我们就以给客户端返回一个照片为例,说明一下。还是在上次的例子服务里面,我们添加一下这个功能,首先要定义服务函数处理: function Perfor...
2018-03-02 10:47:54
624
原创 kbmMW—制作一个简单服务
kbmMW—制作一个简单服务今天仿着delphi窑洞洞主的例子做一个kbmMW 简单服务,功能是客户端调用服务器端的过程,完成一个累加的功能,并且与洞主的内容作比较,看升级后kbmMW的异同。以下部分是洞主的内容。环境:DelphiXE10.2.2+kbm5.02首先我们建立一个空白的vclform 应用程序,并放置几个控件,如图所示:其中有三个控件,一个kbmMWSever1,一个kbmMWTC...
2018-03-02 10:41:12
3357
原创 uniDac 更新多表记录
对于从多个表中获得数据的数据集,默认情况下只有一个表可更新。您应该在UpdatingTable属性中指定要更新的表名,否则将会更新字段列表中的第一个字段的表。如果SetFieldsReadOnly选项设置为True(默认情况下),则自动生成的update SQL语句中未使用的字段将被标记为只读。使用Oracle、PostgreSQL和基于odbcbased的复杂查询提供程序(使用多个表、同义词、D
2018-01-08 22:27:06
1624
原创 uniDac 刷新单条记录
uniDac只刷新单行记录的功能,我想是怕返回整个数据集比较低率吧。要实现在更新一个记录后只刷新该记录行,需要用到三步:1、设置控件的TRefreshOptions属性为 [roAfterInsert,roAfterUpdate],即为新增后刷新,修改后刷新。2、设置SQLRefresh属性,该属性是通过一个SQL查询语句定位到刚才那个记录上。3、用RefreshRecord方法刷新。
2018-01-08 20:33:15
603
原创 uniDac 连接FireBird数据库(绿色版/嵌入版/单机版)
网上有几个文章说到连接FB数据库的,基本都是一个出处,不过我尝试之后发现都不行,仔细看过后才发现。原来有一个地方少了个字母(下面代码红色那行)。下面是我自己写的,在D7+FB3+uniDac7.01中通过。代码:with UniConn_Do do begin ProviderName := 'interbase';//这里确定为interbase 但是可以支持firebi
2018-01-07 23:36:56
1040
原创 uniDac 我对uniDac的事务处理
我在用uniDac时发现一个很奇怪的问题,我用一个TUniConnection控件连接一个事务控件。在一个程序中有两个uniQuery,一个负责查询并得到数据uniQ_Show,一个用于对数据的插入和更新uniQ_Do。可是,我在用uniQ_Do对数据进行更新,并用事务控件进行提交后,竟然使uniQ_Show控件关闭了。真是很奇怪,我也不知道是什么原因,也不知道怎么解决。后来,我就再引入了另一
2018-01-07 23:06:31
2204
原创 unidac 用TuniQuery控件做数据的插入和更新
首先,uniQuery控件连接一个uniConnection控件,事务属性为默认。用一个表格wwGrid连接uniQuery。一、插入操作代码:tryif not A01F.uniConn_Do.InTransaction then A01F.uniConn_Do.StartTransaction;with uniQ_D11 dobeginAppend;
2018-01-07 22:20:44
4281
Borland Socket Server Fix2.0 D7
2015-06-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人