(同一个世界,同一个梦想,交流学习C++Builder and Delphi XE10,传承c++builder and Delphi的魅力!欢迎各地朋友加入我的QQ群484979943,进群密码“BCB”,同时也请将该群号广为宣传,希望能够广集各方高手,共同进步。如需下载开发工具及源代码请加入我的QQ群。) 【阅读倡议】 1、有问题请留言; 2、没问题请点赞; 3、看连载请加群; 4、下源码请加群; 【开发工具】 1、C++Builder and Delphi 10.3.3 2、FMSoft_uniGUI_Complete_Professional_1.70.0.1531(正版) 本人主笔的国内第一本uniGUI教学案例代码已诞生,分为cbuilder和delphi两个版本,买代码送手册,需要的朋友可以加入我的QQ技术交流群484979943给我(群主)留言。资料简介: https://www.meipian.cn/20b86ayo?share_from=others&user_id=64168117&uuid=a8a75af8c0cc31e6a21b8a79a2b07398&share_depth=1&first_share_uid=64168117&utm_medium=meipian_android&share_user_mpuuid=94b70e99e8b6986c71b270a9883befb2
UniDBGrid有很多“特异功能”,通过简单配置和几行代码就可以实现,本例子基于项目根目录下的SQLITE数据库demo.db的score表讲解uniDBGrid的几个“特异功能”。Score数据表结构如下所示: 1、创建一个项目,如下图所示,添加一个UniDBGrid、一个UniConnection、一个SQLiteUniProvider、一个UniQuery、一个UniDataSource、一个UniDBNavigator;一个UniHiddenPanel,在UniHiddenPanel上添加一个UniEdit、一个UniSpinEdit、一个UniComboBox、两个UniDateTimePicker、四个UniNumberEdit。 2、配置数据库控件的各个属性
3、打开屏幕左上角Structure的UniDBGrid1控件,右键点击Columns添加十个数据列,点击0~9每个列,将FieldName属性分别设置为score表各个列的列名,将其Title->Caption属性设置为你需要的中文列头,将stu_score1和stu_score2两个列的Width属性设置为120宽。
为UniDBGrid设置可勾选列有时候希望把数据表的某个字段设置成可勾选式“正/反”逻辑输入,比如stu_sex表的性别列,如果想显示为“男/女”,勾选后对应的数据值为“1/0”或“true/false”,就可以将stu_sex字段的CheckBoxField属性的BooleanFieldOnly设置为True、DisplayValues设置为“男;女”、FieldValues设置为“1;0”。此时score数据表的stu_sex字段需要是逻辑型字段,如果不需要向数据表输入逻辑型数值就可以将BooleanFieldOnly设置为False,此时FieldValues可设置为你想向数据表输入的字符串值。需要注意的是DisplayValues和FieldValues之间的分号应该是英文小写状态下的分号,运行效果如下: 为了显著区别表格“性别”列选择的不同值,可在UniDBGrid的OnDrawColumnCell事件中添加代码实现: procedure TMainForm.UniDBGrid1DrawColumnCell(Sender: TObject; ACol, ARow: Integer; Column: TUniDBGridColumn; Attribs: TUniCellAttribs); begin if Column.FieldName='stu_sex' then begin if Column.Field.AsBoolean then begin Attribs.Font.Color:=clGreen; end else begin Attribs.Font.Color:=clRed; end; end; end; |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论