让你的下拉栏变成表格,更加直观
来源:互联网 发布:网络语pb是啥意思 编辑:程序博客网 时间:2024/04/28 12:02
转一个别人写的:(原帖见http://blog.csdn.net/crazycock/archive/2004/10/24/149611.aspx)
TDBLookupComboboxEh和TDBGridEh一样强大无比,可以做出Combobox下拉出Grid的效果。
下面是一些重要属性的小结(可怜费了我半天功夫,文档太少了.......)
(1)ListSource和DataSource属性,这个比较好理解,DataSource就是这个ComboBox自身所对应数据库的字段所在的TDataSource。而ListSource则对应着这个ComboBox自身的字段所关联的字典的数据集(比较拗口)。
例如:ADOTable1是商品表,DataSource1是对应ADOTable1,ADOTable2是商品分类表,DataSource2是对应ADOTable2。现在需要在界面上有一个TDBLookupComboboxEh,你需要的效果是TDBLookupComboboxEh关联商品表的商品分类这个字段,而且希望用户可以很方便选择商品分类,那么他的ListSource就应该选择DataSource2,他的DataSource对应DataSource1。
(2)DataField属性。应该是主表的字段名称。
(3)KeyField属性。应该是对应编码表的对应字段的名称;
(4)ListField属性。这个是个很关键的属性,如果你希望下拉出一个表格的效果而不是仅仅一个List的效果,那么这个地方可以填写多个字段名,中间用“;”格开(用分号格开)。
(5)ListFieldIndex属性。这个属性也很关键。它决定你选中后,在控件里显示什么内容,虽然商品表和商品分类表之间靠商品分类编码关联,但是你肯定希望显示出来的是商品分类名称,这个时候这个参数就很重要了。例如:前面的ListField属性设置为“flbm;flmc;sjfl”(注:分类编码;分类名称;上级分类),那么如果用户选中Combobox下拉的菜单后你希望显示分类名称而不是分类编码,就需要设置ListFieldIndex为1而不是0。这个仅仅是显示的内容,实际入库的内容还是DataField对应的内容。
(6)Style属性。这个属性设置为csDropDownListEh即可保证用户只能选择而无法输入字符。如果设置为csDropDownEh则可以输入字符(感觉不可能让用户自行输入内容,除非表很大不好选,用这个功能来快速定位,但是要对输入的内容进行合法性验证)
(7)DropDownBox.ShowTitle属性。该属性设置为True可显示下拉表格的标题。
(8)DropDownBox.Column属性。该属性和DBGridEh的Column属性类似,可以对显示的标题进行设定(否则默认标题是字段名),也可以对下拉表格的一些参数进行设置,例如显示的行数等。
(9)DropDownBox.Sizable属性。决定下拉的表格能否允许用户改变Size。
(10)EditButton属性。可以允许用户设置右边那个小按钮的类型,是下拉图标还是自定义图标还是其他样式。
------------------------
希望后来人能够少走弯路,呵呵~
- 让你的下拉栏变成表格,更加直观
- 让CSS布局更加直观:box-sizing
- 让CSS布局更加直观:box-sizing
- 让你的Mac更加的效率
- 让你的程序更加完美
- 让你更加快乐的八个具体做法
- 让你的linux操作系统更加安全
- 让你的linux操作系统更加安全
- 如何让你的进程更加“强硬”
- 如何让你的简历更加出色
- Silly:让你的测试数据更加丰富
- 让你的Python代码更加pythonic
- 让你的Python代码更加pythonic
- 利用RazorEngine更加直观的格式化字符串
- 让你更直观了解activity的生命周期
- 让你的浏览器变成各种操作系统
- 让你的计算机变成钢琴。
- 【 让你的磁盘背景变成图片 】
- android音乐播放器——通过webview下载歌曲
- Android中图片缩放方法
- Redmine安装环境要求
- 算法题6 找出整数数组中两个只出现一次的数字
- 友元成员函数
- 让你的下拉栏变成表格,更加直观
- C#中如何获取存储过程的输出参数值
- 优秀程序员的45个习惯之33——记录问题解决日志
- SQLITE 学习网站
- ORA-00942 & V$GES_RESOURCE
- 算法题7 排列与组合
- 模电
- 文字录入无限制Undo,Redo的实现
- 动态链接库的编写和使用详解