Delphi Firemonkey TListView 提供了搜尋的功能,但在 XE6 以前的版本,可以顯示右邊的清除按鈕,在 XE6 確消失了,這裡提供一個修正的方案,供大家參考。
1、放一個 TListView 後,將 SearchVisible 設為 True ,就能看到上方的搜尋功能。
2、運行後,在沒有輸入任何文字的情況下,不會有右邊的清除按鈕。
3、輸入一些文字後,就能看到右邊的清除按鈕,在還沒有修正前,是看不到這個清除按鈕的。
修正方法:
請將源碼 FMX.Edit.pas 復制到自己的工程目錄裡,再進行修改。
找到 TSearchBox.DoChangeTracking 函數,在最後加入一行,如下:
procedure TSearchBox.DoChangeTracking; var Lower: string; begin inherited; Lower := LowerCase(Text.Trim); if FResponder <> nil then FResponder.SetFilterPredicate( function(X: string): Boolean begin Result := (Lower = EmptyStr) or LowerCase(X).Contains(Lower); end); {+++>}RealignButtonsContainer; // 加入這一行 end;