Devexpress VCL网格Excel过滤模式



Devexpress VCL从18.2.5升级到19.1.2后,为了使用最新的功能,尤其是新的网格Excel过滤模式,但不幸的是,编译器没有识别一些常量和属性,比如dxDefaultFilterPopupWindowMode常量和DBGridViews的.Filtering.ColumnPopupMode属性。尽管在uses子句中放入了dxFilterPopupWindow。

有什么帮助吗?

今天我从18.1.2版本升级到了DevExpress VCL库的最新版本,它是日期为2020年1月22日的19.2.4版本,并改编了现有的最小cxGrid项目以使用新的Excel样式筛选。它编译并执行时没有任何错误。

以下是我所做的:

1我现有的Devex安装文件夹(您告诉安装程序使用的文件夹(是D:DevExpress VCL

2我将D:DevExpress VCL重命名为D:DevExpress VCL Prev

3我运行了19.2.4安装程序,将D:DevExpress VCL作为要使用的安装文件夹。

您提到编译器抱怨标识符dxDefaultFilterPopupWindowModeColumnPopupMode。你说"尽管在uses子句中放入了dxFilterPopupWindow。

dxDefaultFilterPopupWindowMode是在dxFilterPopUpWindow的第50行声明的。Pas

const
dxDefaultFilterPopupWindowMode: TdxFilterPopupWindowMode = fpmClassic;

并且在cxGridTableView的第3361行声明CCD_ 8。Pas:

TcxGridTableFiltering = class(TcxCustomGridTableFiltering)
[...]
published
[...]
property ColumnPopupMode: TdxFilterPopupWindowMode read GetColumnPopupMode write SetColumnPopupMode default fpmDefault;
end;

我强烈建议您按照我上面描述的方式安装19.2.4版本,然后检查您的项目的搜索路径包括Devex源的路径。当然,如果您遵循我所描述的方法,项目搜索路径应该不需要更改,如果它是以前编译的。

如果编译器仍然抱怨找不到dxDefaultFilterPopupWindowModeColumnPopupMode,则假设您不是编译项目以使用运行时包,这是我能想到的唯一可能的原因编译器正在查找dxFilterPopUpWindow的早期版本。Dcu和cxGridTableView。Dcu不知何故,日期戳比相应的日期戳晚。PAS文件-在这种情况下,我会删除所有实例从我的系统中删除Devex Dcu,然后重试。确保编译器正在编译您认为是Devex源文件的版本,所以请编辑cxGridTableView。Pas添加"编译器停止符"例如文件顶部的感叹号:如果编译器对此没有抱怨当试图编译您的项目时,您会知道它正在查找并使用cxGridTableView。Pas文件或。Dcu。

最后,出现这个错误是因为我在Delphi库路径中留下了上一版本的路径,而且它在新版本的路径之前。所以,我删除了第一个,保留了新的。瞧,现在一切都很顺利:(::(

最新更新