我在Delphi Seattle有一个应用程序,我迁移到Delphi Tokyo。但我在ListView中的搜索不再正常工作。 在第一次使用时,它正常工作,我过滤记录并编辑它。我将数据发送到datasnap服务器并再次获取所有记录以刷新列表视图。但是如果我再次尝试搜索,它就不再找到记录,但是浏览列表视图我可以找到记录。
显然,我重新加载数据时未出现在屏幕上的所有记录都没有被过滤。如果我手动导航到记录并执行搜索,那么它可以正常工作。
我的代码从datasnap检索数据并在listview上显示:
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;
答案 0 :(得分:0)
我用以下代码解决了我的问题:
<a class="btn btn-lg btn-success" href="javascript:void(0);" onclick="$('#welcome').modal('hide'); startIntro();">