DBGRID中实现下拉列表

技巧之一:

在DBGrid 中实现类DBComboBox列表方法要实现的功能:在DBGrid网格中输入字段时,单击字段可出现一个下拉列表(类似于DBComboBox),用户可从中选择需要的字段内容,列表框中是固定的几个选项如男、女等。实现方法举例:假如数据表中有一个“性别”字段,我们让这个字段具有下拉列表功能。在窗体上放置Table、DataSource、DBGrid组件各一个,将三者搭配起来,不用多讲吧。 双击DBGrid1, 在弹出的Editing DBGrid1.Columns窗口中,单击Add all Fields 按钮, 将Table1的所有字段添加到DBGrid1中。在Editing DBGrid1.Columns窗口,单击选择一个字段如“性别” ,在Object Inspector窗口中, 单击PickList属性后的省略号,在Strings list editor窗口中输入两行,分别为“男”、“女” ,关闭Strings list editor窗口。 将Table1的Active属性设定为True,然后运行程序,鼠标单击DBGrid1中某个记录的性别字段,将会出现一个下拉列表,列表中选项为“男”、“女”,从中选择一个就可以了,也可以手工输入字段内容

技巧之二:

在DBGrid 中实现类DBLookUpComboBox列表的方法。技巧一中的方法适用于选项比较少的字段的表格输入,如果有上千种商品名称,手工输入显然是不合适的,这时我们使用查找字段来实现。下拉列表的内容来自另外一个数据表的相应字段值,比如来自事先制做好的商品名称数据表。 实现方法:在上面例子的基础上,再添加一个数据集组件Table2,设定其table属性为商品名称数据表。双击Table1, 在弹出的Form1.Table1窗口中,鼠标右键单击弹出快捷菜单,选择 Add All Fields菜单项,将所有的字段添加,也可选择部分字段,单击“OK”按钮返回。在Form1.Table1窗口中,单击鼠标右键,从快捷菜单中选择“New field”,在“New field”窗口中,添加一个新的查找字段,设定其Name属性如“spmc”,类型为String。选择其“Field Type”为“LookUp”。在“Field Definition”中设定如下:Key Field选择“商品名称”,此字段是一汉字为字段名的字段,是Table1中的字段。在DataSet中选择“Table2”,在LookUp keys中选择"spmc",此字段的内容是商品名称,是Table2中的字段。Result Field选择" spmc"。设定好上述选项后,单击“OK”按钮返回Form1.Table1窗口。在Form1.Table1窗口中,鼠标单击选择“商品名称”字段,在Object Inspector 窗口中设定其Visible属性为False。为的是让新增的查找字段spmc来代替它。在Form1.Table1窗口中,鼠标单击选择“spmc”字段,在Object Inspector 窗口中设定其DisplayLabel属性为“商品名称”,让其代替“商品名称”字段。将Table1的Active属性设定为True,然后运行程序,鼠标单击DBGrid1中某个记录的商品名称字段,将会出现一个下拉列表,列表中选项为所有的商品名称,这些药品名称来自Table2的数据表,但不能手工输入商品名称。 上面两种方法的不同之处在于:用PickList属性设置的下拉列表,在DBGrid中可手工输入下拉列表中没有的数值,适用于较少的选择项。用查找字段的方法得到的下拉列表在DBGrid中不能手工输入下拉列表中没有的数值,适用于较多的选择项。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值