Devexpress VCL-Grid Excel 过滤模式
Devexpress VCL-Grid Excel filtering mode
将Devexpress VCL从18.2.5升级到19.1.2后,为了使用最新的功能,尤其是新的网格Excel过滤模式,
但不幸的是,编译器无法识别某些常量和属性,例如 dxDefaultFilterPopupWindowMode 常量和
.Filtering.ColumnPopupMode 属性 的 DBGridView。
尽管将 dxFilterPopupWindow 放在 uses 子句中。
有什么帮助吗?
最后,
出现这个错误是因为我在Delphi库路径中留下了之前版本的路径,而在新版本的路径之前。
所以,我删除了第一个,并保留了新的。
Et voila,现在一切都运行良好:):):)
今天我从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
作为要使用的安装文件夹。
你提到编译器抱怨标识符 dxDefaultFilterPopupWindowMode
和
ColumnPopupMode
。你说“尽管将 dxFilterPopupWindow 放在 uses 子句中。
dxDefaultFilterPopupWindowMode
在 dxFilterPopUpWindow.Pas
的第 50 行声明
const
dxDefaultFilterPopupWindowMode: TdxFilterPopupWindowMode = fpmClassic;
和 ColumnPopupMode
在 cxGridTableView.Pas 的第 3361 行声明:
TcxGridTableFiltering = class(TcxCustomGridTableFiltering)
[...]
published
[...]
property ColumnPopupMode: TdxFilterPopupWindowMode read GetColumnPopupMode write SetColumnPopupMode default fpmDefault;
end;
我强烈建议你按照我上面描述的方式安装19.2.4版本,然后检查你的
项目的搜索路径包括 Devex 源的路径。当然,如果按照我介绍的方法,之前编译过的工程搜索路径应该不需要改。
如果编译器仍然报错
无法找到 dxDefaultFilterPopupWindowMode
和 ColumnPopupMode
,然后假设您是
不 编译你的项目使用 运行-time 包,我能想到的唯一可能的原因
是编译器正在查找 dxFilterPopUpWindow.Dcu 和 cxGridTableView.Dcu 的早期版本
以某种方式具有比相应的 .PAS 文件更晚的日期戳 - 在这种情况下我会删除所有实例
从我的系统中删除 Devex Dcu,然后重试。一种确保编译器正在编译的方法
您认为的 Devex 源文件版本是编辑 cxGridTableView.Pas 以添加 "compiler stopper"
例如文件顶部的感叹号:如果编译器不抱怨这个
当尝试编译你的项目时,你会知道它正在寻找并使用另一个版本的
cxGridTableView .Pas 文件或.Dcu.
将Devexpress VCL从18.2.5升级到19.1.2后,为了使用最新的功能,尤其是新的网格Excel过滤模式, 但不幸的是,编译器无法识别某些常量和属性,例如 dxDefaultFilterPopupWindowMode 常量和 .Filtering.ColumnPopupMode 属性 的 DBGridView。 尽管将 dxFilterPopupWindow 放在 uses 子句中。
有什么帮助吗?
最后, 出现这个错误是因为我在Delphi库路径中留下了之前版本的路径,而在新版本的路径之前。 所以,我删除了第一个,并保留了新的。 Et voila,现在一切都运行良好:):):)
今天我从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
作为要使用的安装文件夹。
你提到编译器抱怨标识符 dxDefaultFilterPopupWindowMode
和
ColumnPopupMode
。你说“尽管将 dxFilterPopupWindow 放在 uses 子句中。
dxDefaultFilterPopupWindowMode
在 dxFilterPopUpWindow.Pas
const
dxDefaultFilterPopupWindowMode: TdxFilterPopupWindowMode = fpmClassic;
和 ColumnPopupMode
在 cxGridTableView.Pas 的第 3361 行声明:
TcxGridTableFiltering = class(TcxCustomGridTableFiltering)
[...]
published
[...]
property ColumnPopupMode: TdxFilterPopupWindowMode read GetColumnPopupMode write SetColumnPopupMode default fpmDefault;
end;
我强烈建议你按照我上面描述的方式安装19.2.4版本,然后检查你的 项目的搜索路径包括 Devex 源的路径。当然,如果按照我介绍的方法,之前编译过的工程搜索路径应该不需要改。
如果编译器仍然报错
无法找到 dxDefaultFilterPopupWindowMode
和 ColumnPopupMode
,然后假设您是
不 编译你的项目使用 运行-time 包,我能想到的唯一可能的原因
是编译器正在查找 dxFilterPopUpWindow.Dcu 和 cxGridTableView.Dcu 的早期版本
以某种方式具有比相应的 .PAS 文件更晚的日期戳 - 在这种情况下我会删除所有实例
从我的系统中删除 Devex Dcu,然后重试。一种确保编译器正在编译的方法
您认为的 Devex 源文件版本是编辑 cxGridTableView.Pas 以添加 "compiler stopper"
例如文件顶部的感叹号:如果编译器不抱怨这个
当尝试编译你的项目时,你会知道它正在寻找并使用另一个版本的
cxGridTableView .Pas 文件或.Dcu.