簡體   English   中英

Devexpress VCL-Grid Excel 過濾模式

[英]Devexpress VCL-Grid Excel filtering mode

Devexpress VCL 從 18.2.5 升級到 19.1.2 后,為了使用最新的功能,特別是新的網格 Excel 過濾模式,可惜編譯器沒有識別一些常量和屬性,比如 dxDefaultFilterPopupWindowMode 常量和 .Filtering DBGridViews 的 .ColumnPopupMode 屬性。 盡管將 dxFilterPopupWindow 放在 uses 子句中。

有什么幫助嗎?

今天,我從 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 你說“盡管將 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 源的路徑。 當然,如果你按照我描述的方法,項目搜索路徑應該不需要改變,如果之前編譯過的話。

如果編譯器仍然抱怨找不到dxDefaultFilterPopupWindowModeColumnPopupMode ,那么假設您沒有編譯您的項目以使用運行時包,我能想到的唯一可能原因是編譯器正在尋找早期版本的 dxFilterPopUpWindow.Dcu和 cxGridTableView.Dcu 以某種方式具有比相應的 .PAS 文件晚的日期戳 - 在這種情況下,我會從我的系統中刪除 Devex Dcu 的所有實例,然后再試一次。 一種確保編譯器正在編譯您認為的 Devex 源文件版本的方法,因此編輯 cxGridTableView.Pas 以在文件的最頂部添加“編譯器停止符”,例如感嘆號:如果編譯器在嘗試編譯您的項目時不會抱怨這個,您會知道它正在查找並使用 cxGridTableView .Pas 文件或 .Dcu 的另一個版本。

最后,出現這個錯誤是因為我在Delphi庫路徑中留下了以前版本的路徑,並且在新版本的路徑之前。 所以,我刪除了第一個,保留了新的。 瞧,現在一切都運行良好:):):)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM