如何显示DBGridEh表头下的下拉列表,并在选择后筛选出相应的行? ( 积分: 100 )

  • 主题发起人 英雄无用武之地
  • 开始时间

英雄无用武之地

Unregistered / Unconfirmed
GUEST, unregistred user!
像Excel的那样。是紧挨表头下边的那一行。
DBGridEh的STFilter的Local、Visible已经为True
DBGridEh每个字段的STFilter的ListSource、KeyFiled、ListFiled、DataFiled也都设置了,后三个设置相同,都为本列的字段名。
结果在选择后没反应,没筛选,就是回车也没有反应!请大家指教!
 
像Excel的那样。是紧挨表头下边的那一行。
DBGridEh的STFilter的Local、Visible已经为True
DBGridEh每个字段的STFilter的ListSource、KeyFiled、ListFiled、DataFiled也都设置了,后三个设置相同,都为本列的字段名。
结果在选择后没反应,没筛选,就是回车也没有反应!请大家指教!
 
好象ADO的不可以 BDE 可以 不行的话看看它自带的memos啊
 
ListSource、KeyFiled、ListFiled必须是另外一个数据源的数据,要不就把这三个设置清楚,试试看,但不可以实现模糊查询
 
引用 EhlibBDE, EhlibAdo, Ehlibcds 就可以了
 
没有引用Ehlib的几个单元:EhlibBDE/EhlibADO/EhLibCDS.
这几个单元的引用根据所使用的数据集不同而不同,TQuery,TTable数据集要uses EhlibBDE;TADOQuery,TADOTable要uses EhlibADO;TClientDataSet要uses EhlibCDS.
这些引用再与TDBGridEh的STFilter属性相配合,才能实现过滤功能.
 
让TDBGridEh的过滤栏上某一列有下拉框,并能拉出可选项:
1.TDBGridEh必须建立相应的Columns
2.Columns.STFilter属性设置: DataField,KeyField,ListField,ListSource,这些是可选项的指定
Columns.STFilter.Visible := true;这个是下拉箭头的出现与否的设置
 
bjaman:我就是按照你说的做的,但是不行!
liubin44966:用ADO不行么?虽然它自带的Demo是BDE,但是并不代表ADO不行吧。
fushizhiren:EhlibAdo是引用了呀。
就是没有过滤,烦恼中!
 
ADO可以呀,我做的实例是可以实现的....(说明一下,我用的EhLib3.6)
 
其实:主要原因是在 query 或 table中加入lookup 字段
1 在query上右键全部添加字段
2 新建lookup字段
 
LoopupDisplayFields里设置字段名称
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
顶部