加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

修正 ListView 搜寻问题

发布时间:2020-12-15 04:35:42 所属栏目:大数据 来源:网络整理
导读:问题:如果 SearchEdit 里已输入过搜寻字,再新建 ListView 项目后,会无法显示。 适用:Delphi XE5 源码下载: /spanspan style="color: #0000ff;"gt;for/span i:=span style="color: #800080;"gt;0/span span style="color: #0000ff;"gt;to/span span styl

问题:如果 SearchEdit 里已输入过搜寻字,再新建 ListView 项目后,会无法显示。

适用:Delphi XE5

源码下载:

</span><span style="color: #0000ff;"&gt;for</span> i:=<span style="color: #800080;"&gt;0</span> <span style="color: #0000ff;"&gt;to</span> <span style="color: #800080;"&gt;30</span> <span style="color: #0000ff;"&gt;do</span> <span style="color: #0000ff;"&gt;begin</span><span style="color: #000000;"&gt; Item1 :</span>=<span style="color: #000000;"&gt; ListView1.Items.Add; Item1.Text :</span>=<span style="color: #000000;"&gt; i.ToString; </span><span style="color: #0000ff;"&gt;end</span><span style="color: #000000;"&gt;; ListView1.EndUpdate; </span>//<span style="color: #000000;"&gt; 如果 SearchEdit 里已输入过搜寻字,再新建项目后,会无法显示,需要加入下行才能修正. ListView1.ClearSearchEdit;

<span style="color: #0000ff;">end<span style="color: #000000;">;

<span style="color: #0000ff;">procedure<span style="color: #000000;"> TForm1.Button2Click(Sender: TObject);
<span style="color: #0000ff;">begin<span style="color: #000000;">
ListView1.SearchEdit.Text := <span style="color: #800000;">'<span style="color: #800000;">3<span style="color: #800000;">'<span style="color: #000000;">;
<span style="color: #0000ff;">end;

FMX.ListViewHelper.pas

<span style="color: #0000ff;">interface

<span style="color: #0000ff;">uses<span style="color: #000000;">
FMX.ListView,FMX.Edit;

<span style="color: #0000ff;">type<span style="color: #000000;">
TListViewHelper = <span style="color: #0000ff;">class helper <span style="color: #0000ff;">for<span style="color: #000000;"> TListView
<span style="color: #0000ff;">function<span style="color: #000000;"> SearchEdit: TSearchBox;
<span style="color: #0000ff;">procedure<span style="color: #000000;"> ClearSearchEdit;
<span style="color: #0000ff;">end<span style="color: #000000;">;

<span style="color: #0000ff;">implementation

<span style="color: #008000;">{<span style="color: #008000;"> TListViewHelper <span style="color: #008000;">}

<span style="color: #0000ff;">function<span style="color: #000000;"> TListViewHelper.SearchEdit: TSearchBox;
<span style="color: #0000ff;">var<span style="color: #000000;"> i: Integer;
<span style="color: #0000ff;">begin<span style="color: #000000;">
Result := <span style="color: #0000ff;">nil<span style="color: #000000;">;

 </span><span style="color: #0000ff;"&gt;for</span> i:=<span style="color: #800080;"&gt;0</span> <span style="color: #0000ff;"&gt;to</span> Self.ComponentCount - <span style="color: #800080;"&gt;1</span> <span style="color: #0000ff;"&gt;do</span>
     <span style="color: #0000ff;"&gt;if</span> (Self.Components[i] <span style="color: #0000ff;"&gt;is</span> TSearchBox) <span style="color: #0000ff;"&gt;then</span>
     <span style="color: #0000ff;"&gt;begin</span><span style="color: #000000;"&gt;
          Result :</span>= Self.Components[i] <span style="color: #0000ff;"&gt;as</span><span style="color: #000000;"&gt; TSearchBox;
          Break;
     </span><span style="color: #0000ff;"&gt;end</span><span style="color: #000000;"&gt;;

<span style="color: #0000ff;">end<span style="color: #000000;">;

<span style="color: #0000ff;">procedure<span style="color: #000000;"> TListViewHelper.ClearSearchEdit;
<span style="color: #0000ff;">begin
<span style="color: #0000ff;">if SearchEdit <> <span style="color: #0000ff;">nil <span style="color: #0000ff;">then
<span style="color: #0000ff;">begin<span style="color: #000000;">
SearchEdit.Text := <span style="color: #800000;">' <span style="color: #800000;">'<span style="color: #000000;">;
SearchEdit.Text := <span style="color: #800000;">''<span style="color: #000000;">;
<span style="color: #0000ff;">end<span style="color: #000000;">;
<span style="color: #0000ff;">end<span style="color: #000000;">;

<span style="color: #0000ff;">end.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读