首页 > 其他 > 详细

[原创] 修正 ListView 搜寻问题

时间:2014-03-27 14:04:21      阅读:435      评论:0      收藏:0      [点我收藏+]

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

适用:Delphi XE5

源码下载:[原创]修正ListView搜寻问题.zip

bubuko.com,布布扣
procedure TForm1.Button1Click(Sender: TObject);
var i: Integer;
    Item1: TListViewItem;
begin
     ListView1.BeginUpdate;
     ListView1.ClearItems;

     for i:=0 to 30 do
     begin
          Item1 := ListView1.Items.Add;
          Item1.Text := i.ToString;
     end;

     ListView1.EndUpdate;

     // 如果 SearchEdit 里已输入过搜寻字, 再新建项目后, 会无法显示, 需要加入下行才能修正.
     ListView1.ClearSearchEdit;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
     ListView1.SearchEdit.Text := 3;
end;
bubuko.com,布布扣

FMX.ListViewHelper.pas

bubuko.com,布布扣
unit FMX.ListViewHelper;

interface

uses
  FMX.ListView,
  FMX.Edit;

type
  TListViewHelper = class helper for TListView
    function SearchEdit: TSearchBox;
    procedure ClearSearchEdit;
  end;

implementation

{ TListViewHelper }

function TListViewHelper.SearchEdit: TSearchBox;
var i: Integer;
begin
     Result := nil;

     for i:=0 to Self.ComponentCount - 1 do
         if (Self.Components[i] is TSearchBox) then
         begin
              Result := Self.Components[i] as TSearchBox;
              Break;
         end;
end;

procedure TListViewHelper.ClearSearchEdit;
begin
     if SearchEdit <> nil then
     begin
          SearchEdit.Text :=  ;
          SearchEdit.Text := ‘‘;
     end;
end;

end.
bubuko.com,布布扣

[原创] 修正 ListView 搜寻问题,布布扣,bubuko.com

[原创] 修正 ListView 搜寻问题

原文:http://www.cnblogs.com/onechen/p/3627883.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!