在数据窗口中我们通常希望存储编码的列用相应的汉字名称显示(如部门编号列,希望显示相应的部门名称)
另外当编辑该列数据时,能够显示出当前可用的所有编号,而且可以通过直接输入编码的方法快速输入数据。(即当前列为部门编号列时,用键盘直接输入部门编号,不需要使用鼠标来查找数据)
对第一个问题,我们通常在数据窗口内部使用下拉式数据窗口控件来解决,第二个问题通过编程来实现。
下面的例子提供了完成上述目标的方法。
第一步,建立一个新的数据窗口控件,用以编辑部门编号列。
设置上面的两列display only 属性为真。
保存上面的数据窗口控件,名称为d_department_departnamelist。
第二步,编辑数据窗口d_emp,修改dept_no列的属性,edit标签页中作下面的设置:
其中always show list为真,width of dropdown 为200%,lines in dropdown为3。
第三步,为下图所示的数据窗口控件添加键盘事件。
在keydown事件中添加如下代码(和“人员数据维护”标签页中的“部门名称”数据窗口的keydown事件相似)
运行程序,在该数据窗口中编辑数据。当前列为dept_no时,下拉数据窗口自动出现,此时可以输入部门编号,当编号输入完成后,下拉数据窗口当前行滚动到该部门名称行,部门编号列的值改为相应的部门。
数据空间