0
我有一個在Delphi西雅圖製作的應用程序,並且我移植到Delphi東京。但我在ListView中的搜索不再正常工作。 在第一次使用時,它能正常工作,我篩選一條記錄並進行編輯。我將數據發送到datasnap服務器並再次獲取所有記錄以刷新列表視圖。但是,如果我嘗試再次搜索,它不會再找到記錄,但是瀏覽listview我可以找到記錄。從DataSnap服務器獲取數據後,ListView過濾器不工作
顯然,當我重新加載數據時沒有出現在屏幕上的所有記錄都未被過濾。如果我手動導航到記錄並執行搜索,那麼它工作。
我的代碼來自的DataSnap檢索數據並顯示在列表視圖:
DadosSocio := F_ClientModule.ServerMethods1Client.GetSocio(0);
Assert(TFDJSONDataSetsReader.GetListCount(DadosSocio) = 1);
mem_Socios.Close;
mem_Socios.AppendData(TFDJSONDataSetsReader.GetListValue(DadosSocio, 0));
mem_Socios.Open;
lvSocios.ScrollTo(0);
lvSocios.ScrollViewPos := 0;
我使用此代碼清潔過濾器:
for I := 0 to lvSocios.Controls.Count-1 do
Begin
if lvSocios.Controls[I].ClassType = TSearchBox then
begin
TSearchBox(lvSocios.Controls[I]).Text := '';
end;
End;
我試圖用這個代碼來清理過濾網,但它返回錯誤Argument out of Range
:
lvSocios.Items.Filter := nil;