SMART datagrid v.1 > Concepts

Back  Forward

Concepts.Data Lookup Overview

基本上,数据单元格显示单元格参考的数据行的值中,连接在单元格列的数据字段值。 但是,有时可能会需要替代实际值而显示更具意义和更易理解的值。 可以通过指定列的lookupDisplay属性为true,并且设置几种相关属性,将与实际值相关的其他值或其他字段的值至数据单元格。 


1. lookupValues, lookupLabels

如果在数据列lookupValues设置一个以上的值和在lookupLabels设置相当于lookupValues的值, 同时如果数据单元格的值被包含在lookupValues列表,就会显示相关位置的lookupLabels的值。 

如果lookupValues中没有相应的值或lookupLabels的项目数量小于相关位置,就会显示数据单元格的原有值。 


2. labelField

可以通过设置DataColumn.labelField,将其使用在显示labelField设置的其他字段值(而非数据单元格的原有值)至单元格的情况。 当labelField指定错误的字段时,将会被忽视。 

因为labelField是在DataSet级别获取值的情况,所以当多个网格连接在一个数据组并且各个网格的lookup要求都不同,就可能会需要多个labelField。 另外,labelField可能会是为lookup要求而添加的字段而非包含在从服务器加载的数据。 

如果修改或添加数据行,就需要适当变更label field的值。 如果在编辑过程中立即需要进行同步,就可以使用GridBase.onEditCellUpdated事件,而如果是提交行编辑后进行同步的情况, 就可以在GridDataSet.onRowUpdatedGridDataSet.onRowInserted等事件处理器中,变更label field的值。 


2. lookupSource

查找源是一种将在数据单元格查找的值创建和管理在自身的空间而非数据组的对象。 LookupSource类是一种定义查找源将要体现的方法的抽象类,而目前已被体现的查找源有LookupTree。 LookupSource对象通过LookupSource.lookup方法而返还对一个以上的键值的查找值。 另外,可以通过调用filladd方法,在适当时点添加或重新设置查找值。 

有关详细说明,请参考LookupTree帮助主题和LookupData例题。 


Note
See Also
DataColumn.lookupDisplay
DataColumn.lookupValues
DataColumn.lookupLabels
DataColumn.labelField
DataColumn.lookupSource
LookupSource
DropDownCellEditor
Examples
数据查找