zoukankan      html  css  js  c++  java
  • uniGUI试用笔记(十一)

    最近研究了一下UniGUI的TuniDBGrid,记录一下免得忘记了。

    TuniDBGrid的重要属性包括:

    1、列—TUniDBGridColumns和TUniDBGridColumn

    每个列对象(TUniDBGridColumn)的重要属性包括:

    • CheckBoxField : TUniCheckBoxField

    列作为CheckBox操作的相关属性

    属性

    类型

    说明

    AutoPost

    Boolean

    当用户点选CheckBox后,改变前端显示并根据该属性决定:

    True—立即自动提交到数据集中并刷新前端显示

    False—只改变前端显示,当记录滚动时再提交数据集

    BooleanFieldOnly

    Boolean

    是否只针对Boolean字段,

    True—只能识别Boolean字段,非Boolean字段将不能显示CheckBox

    False—DisplayValues和FieldValues可以针对非Boolean字段进行处理

    Enabled

    Boolean

    是否允许显示CheckBox

    DisplayValues/

    FieldValues

    string

    联合决定了CheckBox不同状态下对应的值,FieldValues存储字段值,DisplayValues存储显示文字,如果空白就表示不显示文字,只显示CheckBox,每个值通过分号(;)区分,文字显示CheckBox的右侧。如下图:

    image

    • DisplayMemo:Boolean

    对TMemoField而言,是否显示(Memo)字样,缺省为False

    False—不显示字段内容,显示(Memo)字样

    True—不显示(Memo)字样,而是直接显示字段内容

    • Filtering : TUniColumnFilter

    在列标题下显示过滤编辑框,自动对列数据进行过滤,如下图:

    image

    参考Demos下的GridFilter例子。要实现该功能,必须:

         A.放一个TUniHiddenPanel控件在窗体上,然后将TUniEdit、TUniComboBox 、TUniDBLookupComboBox等控件放置在这个隐藏的Panel上,如下图:

    image

          B.设置每个列的Filtering,将其Editor属性设置对应的编辑控件

          C. 对编辑控件进行相关属性设置,如TUniDBLookupComboBox需要设置ListSource等

    属性

    类型

    说明

    ChangeDelay

    Integer

    当用户键入字符后,延时进行过滤处理的毫秒数

    Editor

    TControl

    过滤的输入框,按照输入框内容进行过滤。TUniDBLookupComboBox按照KeyField的值进行过滤

    Enabled

    Boolean

    是否允许进行过滤

    • GroupHeader和GroupHeaderSeparator

    多栏显示表头,如GroupHeader = a;b;c 时的样式见下图:

    image

    • ShowSummary:Boolean

    是否显示合计值,与Grid的Summary的属性联合使用。

    • Sortable:Boolean

    是否允许进行排序操作。允许排序操作时,在字段名称旁显示排序符号,并且在Menu中的排序菜单是可用的,如下图:

    image

    • Editor : TControl;

    对该字段进行编辑时,对应的单元采用怎样的控件进行处理,这个功能非常强大,如设置TuniComboBox作为Editor则完全替代字段Picklist的功能,如下图:

    image

    • Memu(TUniColumnMenu)

    对列标题下拉显示的菜单进行控制

    属性

    类型

    说明

    ColoumnHideable

    Boolean

    是否允许隐藏字段,缺省True,即允许用户通过勾选隐藏指定的列,如下图:

    image

    MenuEnabled

    Boolean

    是否允许显示列的菜单

    MenuText

    String

    该列显示在菜单上的文字,缺省为空,表示显示字段DisplayLabel,否则显示该文字。如下图:

    image

    • ImageOptions

    当该字段需要显示图片时,联合使用ImageOptions属性和OnFieldImage事件,其中:

    属性

    类型

    说明

    Height/Width

    Integer

    显示图片的大小

    Visible

    Boolean

    是否显示图片,True则触发OnFieldImage事件进行图片处理,如:

    procedure TMainForm.UniDBGrid1FieldImage(const Column: TUniDBGridColumn;

    const AField: TField; var OutImage: TGraphic; var DoNotDispose: Boolean;

    var ATransparent: TUniTransparentOption);

    begin

    if SameText(AField.FieldName, 'gender') then

    begin

    // 代码处理图片

    DoNotDispose := True;

    // 根据字段值返回图片

    if AField.AsString = 'male' then

    OutImage := UniImage1.Picture.Graphic

    else if AField.AsString = 'female' then

    OutImage := UniImage2.Picture.Graphic;

    end;

    end;

    该方法可以让列显示某项图片按钮,如:

    image

  • 相关阅读:
    前端笔试题----JavaScript部分
    前端笔试题----html,css部分
    JS基础--执行环境及作用域
    关于css3 flex布局
    Ceph万兆内网与系统万兆迁移
    从0开始的InfiniBand硬件踩坑过程
    Redis实战与分析
    ceph osd 自动挂载的N种情况
    集群IPtables转发与防火墙
    ceph 常见问题百科全书---luminous安装部署篇
  • 原文地址:https://www.cnblogs.com/ChinaEHR/p/4275122.html
Copyright © 2011-2022 走看看