在数据窗口中我们通常希望存储编码的列用相应的汉字名称显示(如部门编号列,希望显示相应的部门名称)

另外当编辑该列数据时,能够显示出当前可用的所有编号,而且可以通过直接输入编码的方法快速输入数据。(即当前列为部门编号列时,用键盘直接输入部门编号,不需要使用鼠标来查找数据)

对第一个问题,我们通常在数据窗口内部使用下拉式数据窗口控件来解决,第二个问题通过编程来实现。

下面的例子提供了完成上述目标的方法。

第一步,建立一个新的数据窗口控件,用以编辑部门编号列。

设置上面的两列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时,下拉数据窗口自动出现,此时可以输入部门编号,当编号输入完成后,下拉数据窗口当前行滚动到该部门名称行,部门编号列的值改为相应的部门。

 

返回

数据空间