gpt4 book ai didi

delphi - 是否可以通过 Delphi 中不同列的标题进行 TListView 搜索?

转载 作者:行者123 更新时间:2023-12-03 02:58:26 25 4
gpt4 key购买 nike

当您设置 TListItem 的标题时,它似乎总是设置行中第一列的文本。当您开始在 ListView 中输入内容时,它将根据第一列的标题搜索并选择最接近的匹配项。

我遇到一种情况,我需要第一行的标题为空,但仍然需要搜索功能正常工作(在这种情况下,我要搜索的数据可能位于第二/第三列) .

在不使用任何第三方控件的情况下是否可以实现这一点?

最佳答案

根据您希望标题/第一列为空的原因,您可以将要搜索的文本移动到标题中,然后有一个空白的子项目。然后像这样交换代码中的列顺序

//Move the 1st sub-item left one column
ListView1.Columns[1].Index := 0;

这看起来几乎相同,但如果您没有将 RowSelect 设置为 true,则突出显示的标题将位于错误的列中。这将允许您根据需要进行搜索并在代码中使用 FindCaption 方法。

procedure TForm1.FormCreate(Sender: TObject);
var
I: Integer;
li : TListItem;
begin
//Add data to the list view for demo
for I := 0 to 10 do
begin
li := ListView1.Items.Add;
li.Caption := intToStr(Random(10000));
li.SubItems.Add('');
li.SubItems.Add('Col2');

//addimages so you can see which column is which
li.SubItemImages[0] := 0;
li.ImageIndex := -1;
end;

//move column 2 left one, this is the important bit
ListView1.Columns[1].Index := 0;
end;

alt text http://img265.imageshack.us/img265/3489/captureqg.jpg

关于delphi - 是否可以通过 Delphi 中不同列的标题进行 TListView 搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2997720/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com