多列数据字典

数据字典一般都是通过列属性直接设置的,很少需要通过代码设置,所以一般用户可以忽略本节的内容。
多列数据字典设置字典设置起来稍微复杂一点,必须借助于MultiDataMap类型。

MultiDataMap有一个Add方法,用于用于添加多列数据字典的内容,添加的时候,每一列的内容用符号“|”隔开,例如:

Dim mdm As New MultiDataMap
mdm.Add(
"0|苹果|Appele"
)

MultiDataMap有两个整数型属性,分别是ValueCol和DisplayCol,前者指定哪一列的内容用于取值,后者指定哪一列的内容用于显示,例如:

mdm.ValueCol = 0
mdm.DisplayCol =
1

表示第一列的内容用于取值,第二列的内容用于显示。

多列字典内容添加完成后,可以调用MultiDataMap的CreateDataMap方法,生成一个多列数据字典,然后赋值给Col的DataMap属性,例如:

Tables("表A").Cols("第一列").DataMap = mdm.CreateDataMap()

下面是一个完整的例子:

Dim mdm as New MultiDataMap
mdm.add(
"0|苹果|Apple")
mdm.add(
"1|香蕉|Banana")
mdm.add(
"2|桔子|Orange")
mdm.add(
"4|菠萝|pineapple")
mdm.ValueCol =
0
mdm.DisplayCol =
1
Tables("表A").Cols("第一列").DataMap = mdm.CreateDataMap()

在命令窗口执行上述代码后,在第一列输入数据的时候,会出现如下的效果:

在上图中,选择某一条目的时候,该条目的第一列内容会自动存储到当前单元格中,单元格显示的内容将是所选条目的第二列内容。
当然,ValueCol和DisplayCol可以是同一列,此时数据字典类似于列表项目,仅用于输入。


本页地址:http://www.foxtable.com/webhelp/topics/0581.htm