DBGridEh可以点击列标题进行排序(标题上有小箭头指示),并可以在列标题下方增加一列显示搜索框。
启动点击列标题排序
- DBGridEH.OptionsEh 中选中 dghAutoSortMarking(实现单列排序),dghMultiSortMarking(实现多列排序)
- DBGridEh.Coolumns[0].Title.TitleButton = True,进行每个需要排序的列,如果所有列都需要排序,可以设置DBGridEh.ColumnDefValues.Title.TitleButton = True;
启动列标题下面增加搜索框功能
- DBGridEh.STFilter.Visible = true;
如果上面两个设置好了,鼠标点标题,可以看到有排序的小箭头指示,但是并没有进行排序。录入过滤的关键词,定并不过滤。原因是没有引用相关的数据引擎。(因为Delphi有时候不会自动增加相关的引用,导致排序、过滤失效)
- 如果DataSource是TFDQuery,则需要uses EhLibFireDAC
- 如果DataSource是TADOQuery,TDAODataSet, 则需要 uses EHlibADO
- TQuery, TTable 需要 EhlibBDE
- TClientDataSet 需要 EhLibCDS
- TSQLQuery,TSQLDataSet 需要 EhLibDBX
- TIBQuery,TIBDataSet 需要 EhLibIBX
- TMemTableEh 需要 EhLibMTE