Delphi第三方控件dxdbgrid中option属性详解

来源:互联网 发布:怎么样配衣服 知乎 编辑:程序博客网 时间:2024/06/04 20:11

 

property   KeyField   :   string;  

用于保持与数据集操作同步,该值指定列表中显示数据所在数据集的关键字段.  

 描述  

KeyField属性确保在LoadAllRecords模式下能够进行正确的操作.如果KeyField属性设置不正确,分组操作将自动被禁止.如果你没有一个唯一的标识字段但又想能够进行分组,你必须把这个属性赋为空,并且不激活egoCanNavigation   选项或者创建一个唯一的标识计算字段.无论用哪一种方法,你都不可以使用egoUseLocate和egoSmartRefresh选项.  

 

注意:在标准列表模式下,必须设置KeyField以正确的实现OnChangeNodeEx的事件句柄.   

在LoadAllRecords模式下,如果有下列现象出现,表明KeyField属性设置不正确:    1,编辑的值没有正确的显示出来  

.2,多选时出错.  

3,控件和数据集不同步.当前选中的记录与数据集中的记录不相符.   

Options   property   read   /   write   [TCustomdxDBGrid.]  指定一个数据感应列表的不同属性  

 

描述:用以指定ExpressQuantumGrid   的显示[display]和动作[behavioral]属性。  egoColumnSizing       允许用户改变列宽  

egoColumnMoving     允许用户在列表中移动列  

egoEditing     如果激活,最终用户将可以修改列表中的数据.如果egoRowSelect选项被激活,这个选项将不起作用.  

egoTabs   允许在列表内部的列与列之间用Tab和Shift+Tab键来导航。如果为FALSE,将直接把焦点从当前列表转移到别的控件,而不是在列与列之间转移焦点。  

egoTabThrough     当在一行的最后一列按下Tab键时,移动焦点到下一行的第一列。这个选项仅在egoTabs选项有效时才起作用。  

egoRowSelect     确定是否整行选取。当用户在列表中选择一笔记录时,整行都将高亮显示。如果为FALSE,仅选中的那一列高亮。这个选项激活时,egoEditing选项不起作用。  egoMultiSelect确定在列表中是否可以同时选取多行。如果这个选项没有设置,当执行多选操作时只有同组的记录会被包括在内。这个选项在egoCanNavigation选项未被激活时不起作用。  

egoCanDelete     确定用户是否可以通过按下Ctrl+Delete键来删除一笔记录。  

egoConfirmDelete     在用户按下Ctrl+Delete键以删除某笔记录时,确定是否显示一个消息框来提示用户是否确信要执行该操作。  

egoCanNavigation   在LoadAllRecords模式下,并且egoCanNavigation选项设定为False时,ExpressQuantumGrid不会跳转到当前所选节点对应的记录,同时,数据更改也将被禁止。在其他状况下,当改变所选择节点时,ExpressQuantumGrid将使对应的记录激活。  

egoCanAppend     确定如果焦点在列表的最后一行时,用户是否可以用按向下键来新增一笔记录。egoCancelOnExit   当用户在新增一笔记录后离开列表时,放弃他的新增操作。该条新增的记录将不被提交到数据集中,以防止意外的提交空记录。  

egoImmediateEditor   确定用户在列表中进行编辑操作时,是否立即显示编辑模式。如果为FALSE,用户必须先按回车键或点击当前单元格才能编辑数据。 

egoCanInsert   确定用户是否可以通过按下Insert键或新增一行来插入一笔新纪录。  

egoLoadAllRecords   确定ExpressQuantumGrid是否调所有的记录到内存中。为了快速的进行分组或排序,   坏模柚靡桓龅闹到沽硪桓龅闹当磺宄?egoPreview   指定是否显示ExpressQuantumGrid的预览部分。  

egoDrawEndEllipsis   说明当一个单元格的长度小于其中的文本的长度时,是否显示省略号。  egoStoreToRegistry   如果激活,ExpressQuantumGrid保存列的设置和排列顺序到RegistryPath属性指定的注册表键值中。  

egoAutoWidth   当这个选项有设定时,ExpressQuantumGrid将改变所有列的宽度以在整个屏幕中显示所有列,这样水平的滚动条将不显示。  

egoShowHourGlass   确定在执行一个比较长时间的数据处理事件时,是否改变QuantumGrid的光标为crHourglass。  

egoCaseInsensitive     用来排列列表的节点,如果有设置的话,排列时将忽略大小写。  egoDblClick     确定当用户在列表中的某处双击时,OnDblClick事件是否执行。如果未激活,OnDblClick事件只在一个数据节点(不是分组节点)被双击时才起作用。  

egoIndicator     确定是否显示列表的指示器(在列表最左边显示一个带有当前行指示标志的列);  

egoExtMultiSelect   为ExpressQuantumGrid扩充多选功能。如果有设置,用户在多选时,在不同父节点下的子节点也一并被视作选中。如果egoMultiSelect没有设置的话,这个选项不起作用。egoResetColumnFocus   当新增一条纪录时,焦点转移到新节点的第一列。  egoExtCustomizing   确定列自定义的风格和习惯。缺省情况下,egoExtCustomizing选项为未激活,这个时候,用户如果要隐藏一个列必须先打开自定义对话框,然后把该列拖动到自定义窗中。如果egoExtCustomizing选项激活,用户可以通过直接把当前列表中的列标题从列表头区域移出来而隐藏该列。这个特性可以使用户不需要先打开列表的自定义界面就能移除某列。  

egoHideFocusRect     指定是否在当前焦点的单元格周边画一个矩形。如果这个选项设置了,当前焦点单元格周边的矩形将不显示。  egoStoreToIniFile   如果激活,ExpressQuantumGrid保存列的设置和排列顺序到IniFileName属性指定的INI文件中。  

egoUseLocate   如果激活,当ExpressQuantumGrid不在分组模式下时,Locate方法将被使用来给数据集导航。  

egoSmartReload     Records模式下使用。  

egoSmartRefresh     当用户把变动提交给数据集时,QuantumGrid仅仅刷新被修改的记录。设置这个选项将自动激活egoUseLocate选项。egoSmartRefresh只在QuantumGrid的LoadAllRecords模式下使用。  

egoSeekDetail   你可以用Next或Prior方法来跳过数据集的记录。在这种情况下,   QuantumGrid将自动转移焦点到与当前数据集记录相对应的节点上。如果egoSeekDetail被激活,   QuantumGrid并不显示对应数据集记录的子节点,这就是说,ExpressQuantumGrid将自动移动焦点给分组节点,但不扩展这个分组节点,也不移动焦点到它的第一个子节点。  

 

Option属性的缺省值如下:  

[egoEditing,   egoColumnSizing,   egoColumnMoving,   egoImmediateEditor,   egoTabThrough].   

OptionsBehavior   property   read   /   write  

指定一个数据感应列表的动作[behavioral]属性:  

 

 

property   OptionsBehavior:   TdxDBGridOptionsBehavior;   

edgoAnsiSort   如果激活,ExpressQuantumGrid使用WINDOWS的本地设置来排序行。这个选项在单元格或列表内含有本地的语言文本时将很有用处。 

edgoAutoCopySelectedToClipboard   如果激活,当用户按下Ctrl-C的组合键时,被选择的数据将被复制到windows的剪贴板中。  

edgoAutoSearch   激活/关闭自动搜索特性:ExpressQuantumGrid自动定位一笔符合用户在焦点单元格中输入的文本的记录,再次搜索可直接按CTRL-ENTER(往前)或SHIFT-CTRL-ENTER(往后)。  

edgoAutoSort   如果设置了,ExpressQuantumGrid自动排序节点。点击某列的列标题即可排列节点。如果egoAutoSort关闭,ExpressQuantumGrid不执行任何排序动作。egoAutoSort选项只有当ExpressQuantumGrid处在LoadAllRecords模式下时才起作用。  

edgoBandButtonClicking     如果激活,当用户点击行头区域时OnBandButtonClick事件将执行。  

edgoCaseInsensitive   用来排序列表的节点,如果有设置,排序时对大小写不敏感。  edgoCellMultiSelect   MS   Excel®风格的多选。尚未实现。  

edgoCollapsedReload     如果激活,在分组时ExpressQuantumGrid完全收缩显示所有的分组节点。否则的话,ExpressQuantumGrid给所有的记录分组,但扩展当前记录所在的分组节点。  edgoDblClick确定当用户在列表中的某处双击时,OnDblClick事件是否执行。如果未激活,OnDblClick事件只在一个数据节点(不是分组节点)被双击时才起作用。  

edgoDragCollapse如果激活,当用户拖动拖动一个节点到某个扩展节点时该节点自动收缩。  edgoDragExpand   如果激活,当用户拖动一个节点到某个收缩节点时,该节点自动扩展。  edgoDragScroll   如果这个选项设置了,在拖动操作时,焦点往前移到被拖动的节点。  edgoEditing     如果激活,最终用户将可以修改列表的单元格。在edgoRowSelect选项被激活时,这个选项不起作用。  

edgoEnterShowEditor     如果激活(缺省状况下),当用户按回车键或开始键入文本时,进入修改模式,否则,当用户点击选中的单元格或按F2时才进入修改模式。  

edgoEnterThrough   回车移动焦点到下一列。这个选项只在edgoEnterShowEditor激活时起作用。  

edgoExtMultiSelect   为ExpressQuantumGrid扩充多选功能。如果有设置,用户在多选时,在不同父节点下的子节点也一并被视作选中。如果egoMultiSelect没有设置的话,这个选项不起作用。  

edgoHeaderButtonClicking   如果激活,当用户点击列表头区域时,将触发一个OnHeaderButtonClick事件。  

edgoHorzThrough     如果激活,在某一节点的最前/最后一列按下左/右键时焦点自动移动到上/下一个节点。否则,焦点停留在当前列。  

edgoImmediateEditor   确定用户在列表中进行编辑操作时,是否立即显示编辑模式。如果为FALSE,用户必须先按回车键或点击当前单元格才能编辑数据。  

edgoMouseScroll     如果激活,鼠标移动将滚动下拉列表在当前编辑的表格中。,  edgoMultiSelect确定在列表中是否可以同时选取多行。如果这个选项没有设置,当执行多选操作时只有同组的记录会被包括在内。这个选项在edgoCanNavigation选项未被激活时不起作用。  

edgoMultiSort     如果激活,可进行多列排序。这个选项只在ExpressQuantumGrid的LoadAllRecords模式下起作用。  

edgoSeekDetail你可以用Next或Prior方法来跳过数据集的记录。在这种情况下,   QuantumGrid将自动转移焦点到与当前数据集记录相对应的节点上。如果egoSeekDetail被激活,   QuantumGrid总是显示正确对应当前数据集记录的节点,如果这个节点不可见,它的父节点将被扩展,一个分组节点和它的第一个子结点将对应相同的数据集记录。如果egoSeekDetail未被激活,   QuantumGrid并不显示对应数据集记录的子节点,这就是说,ExpressQuantumGrid将自动移动焦点给分组节点,但不扩展这个分组节点,也不移动焦点到它的第一个子节点。  

edgoShowHourGlass确定在执行一个比较长时间的数据处理事件时,是否改变QuantumGrid的光标为crHourglass。  

edgoStoreToIniFile   如果激活,ExpressQuantumGrid保存列的设置和排列顺序到IniFileName属性指定的INI文件中。  

edgoStoreToRegistry   如果激活,ExpressQuantumGrid保存列的设置和排列顺序到RegistryPath属性指定的注册表键值中。  

edgoTabs允许在列表内部的列与列之间用Tab和Shift+Tab键来导航。如果为FALSE,将直接把焦点从当前列表转移到别的控件,而不是在列与列之间转移焦点。  

edgoTabThrough当在一行的最后一列按下Tab键时,移动焦点到下一行的第一列。这个选项仅在egoTabs选项有效时才起作用。  edgoVertThrough   Meaningful   if   nodes   are   drawn   across   several   rows   (multiple   lines).   If   active,   pressing   the   Up/Down   arrow   moves   focus   through   lines   of   the   same   node.   Otherwise,   it   moves   focus   to   the   previous/next   node.   

The   default   values   for   the   OptionsBehavior   property   include:    

[edgoAutoSort,   edgoDragScroll,edgoEditing,   edgoEnterShowEditor,   edgoImmediateEditor,   edgoTabThrough,   edgoVertThrough].   

OptionsDB   property   read   /   write   

Specifies   properties   of   a   data-aware   grid   to   work   with   a   dataset.   

property   OptionsDB:   TdxDBGridOptionsDB;  

 

edgoCanAppend确定如果焦点在列表的最后一行时,用户是否可以用按向下键来新增一笔记录。edgoCancelOnExit当用户在新增一笔记录后离开列表时,放弃他的新增操作。该条新增的记录将不被提交到数据集中,以防止意外的提交空记录。  

edgoCanDelete确定用户是否可以通过按下Ctrl+Delete键来删除一笔记录。  

edgoCanInsert确定用户是否可以通过按下Insert键或新增一行来插入一笔新纪录。  

edgoCanNavigation在LoadAllRecords模式下,并且egoCanNavigation选项设定为False时,ExpressQuantumGrid不会跳转到当前所选节点对应的记录,同时,数据更改也将被禁止。在其他状况下,当改变所选择节点时,ExpressQuantumGrid将使对应的记录激活。  edgoConfirmDelete在用户按下Ctrl+Delete键以删除某笔记录时,确定是否显示一个消息框来提示用户是否确信要执行该操作。  

edgoLoadAllRecords确定ExpressQuantumGrid是否调所有的记录到内存中。为了快速的进行分组或排序,   QuantumGrid需要调所有的记录到内存中来。使用这个选项需要先正确设置KeyField属性。在有关调用机制的章节中可以查看到更多的关于ExpressQuantumGrid模式的说明。egoLoadAllRecords选项和DefaultFields属性是互斥唯一的,设置一个的值将使另一个的值被清除。  

edgoPartialLoad   When   active,   the   ExpressQuantumGrid   loads   a   series   of   records   into   its   buffer.   The   buffer   contains   more   records   than   the   grid   can   display.   All   loaded   records   remain   in   memory   until   a   user   or   an   application   refreshes   the   dataset   associated   with   the   ExpressQuantumGrid.See   ExpressQuantumGrid   Modes   for   more   information   on   loading   mechanisms.  edgoResetColumnFocus     当新增一笔纪录时,焦点自动移到新节点的第一列.  

edgoSmartRefresh   当用户把变动提交给数据集时,QuantumGrid仅仅刷新被修改的记录。设置这个选项将自动激活egoUseLocate选项。egoSmartRefresh只在QuantumGrid的LoadAllRecords模式下使用。  

edgoSmartReload   当激活时,ExpressQuantumGrid在每次分组时,并不从数据集中读取数据,这将使大数据集的分组操作可以更快速的处理。在为TRUE的情况下,汇总部分只计算与列表列相符和的数据集字段。这个选项只在QuantumGrid的LoadAllRecords模式下使用。  

edgoSyncSelection       如果设定,,ExpressQuantumGrid按照数据集的当前记录移动列表的选择项。也就是说,当用户通过外部数据感应控件或程序代码滚动数据集时,ExpressQuantumGrid自动移动选择项。当这个选项被关闭时,ExpressQuantumGrid只在记录改变时移动焦点。  

当ExpressQuantumGrid所关联的数据集滚动时,edgoSyncSelection选项影响多选。  比如,edgoSyncSelection被激活,如果用户选择了多个节点然后滚动了数据集,这时ExpressQuantumGrid将放弃所选,并且重新选择当前数据集记录对应的节点。  

如果应用程序通过Locate方法滚动了数据集,被选择节点并不会改变。以下是一个模拟的代码,表明当使用了Locate时,edgoSyncSelection会去做什么。  Table1.Locate(.   .   .);  dxDBGrid1.ClearSelection;  

dxDBGrid1.FocusedNode.Selected   :=   True;  

edgoUseBookmarks     当激活时,游标将被用来导航数据集。当edgoSmartRefresh   或   edgoPartialLoad选项激活并且edgoUseLocateoption未被激活时,游标也将被使用。  

edgoUseLocate如果激活,当ExpressQuantumGrid不在分组模式下时,Locate方法将被使用来给数据集导航。  

 

The   default   values   for   the   OptionsDB   property   include:    

[edgoCancelOnExit,   edgoCanDelete,edgoCanInsert,   edgoCanNavigation,   edgoConfirmDelete,   edgoUseBookmarks]. 

 

原创粉丝点击