ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

(41)uniGUI for Delphi UniDBGrid 设置可勾选列及存储值和显示值对应关系

2020-11-30 16:02:10  阅读:648  来源: 互联网

标签:begin uniGUI 数据表 Delphi 选列 stu UniDBGrid 设置


(同一个世界,同一个梦想,交流学习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、配置数据库控件的各个属性

控件名称

属性

取值

说明

UniDBGrid1

DataSource

UniDataSource1

数据源

UniDataSource1

DataSet

UniQuery1

数据集

UniQuery1

Connection

UniConnection1

数据库连接

UniConnection1

Database

D:\demo_9_16_d\demo.db

数据库文件

 

ProviderName

SQLite

数据库驱动类型

 

Connected

TRUE

是否连接

UniQuery1

SQL

select * from score

SQL查询语句

 

Active

TRUE

激活查询语句

UniDBNavigator1

DataSource

UniDataSource1

数据源

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;

标签:begin,uniGUI,数据表,Delphi,选列,stu,UniDBGrid,设置
来源: https://blog.csdn.net/martian6125/article/details/110390024

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有