从datasnap服务器

时间:2017-09-25 14:16:57

标签: listview delphi firemonkey delphi-10.2-tokyo

我在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;

1 个答案:

答案 0 :(得分:0)

我用以下代码解决了我的问题:

<a class="btn btn-lg btn-success" href="javascript:void(0);" onclick="$('#welcome').modal('hide'); startIntro();">