我试图在 Delphi 中使用编辑框来过滤列表框,但是它不起作用。下面是我基于编辑框的OnChange事件的代码。
procedure TReportDlgForm.FilterEditOnChange(Sender: TObject);
var
I: Integer;
begin
ListBox1.Items.BeginUpdate;
try
for I := 0 to ListBox1.Items.Count - 1 do
ListBox1.Selected[I] := ContainsText(ListBox1.Items[I], FilterEdit.Text);
finally
ListBox1.Items.EndUpdate;
end;
end;
我希望当我在编辑框中键入内容时,列表框中的项将被筛选。
2条答案
按热度按时间gijlo24d1#
您必须将列表框中的值保存在某个变量中,并在该变量中进行搜索,而不是在列表框项中!在列表框中,我们只显示搜索结果。
yqkkidmi2#
在
TlistBoxItem
的ItemData.detail
中添加要搜索的值,然后调用以下代码: