如何更改列表视图中的子项?

Iva*_*nov 4 delphi delphi-2009

我使用Listview.items.item [X] .caption来更改列表框中的第一列,但现在我必须在运行时进一步更改.我看到的唯一方法是将列表框中的项目作为TListItem,编辑它,添加它并改变位置,但这不适合它,因为我在listview上有很多项目.

有没有更简单的方法来实现这一点,就像我改变第一项的方式一样?

提前致谢.

RRU*_*RUZ 8

试试这个

//Add a item

var
  ListItem : TListItem;
begin

  ListViewItem.Items.BeginUpdate;
try
    ListItem := ListViewItem.Items.Add;
    ListItem.Caption := 'First Column Value';
    ListItem.SubItems.Add('Second Column Value');
    ListItem.SubItems.Add('Third Column Value');
finally  
ListViewItem.Items.EndUpdate;
end;

end;

//Edit a Item

var
  ListItem : TListItem;
begin

  ListViewItem.Items.BeginUpdate;
try
    ListItem := Listview.items.item[X];
    ListItem.Caption := 'New first Column Value';
    ListItem.SubItems[0]:='New Second Column Value';
    ListItem.SubItems[1]:='New Third Column Value';
finally  
ListViewItem.Items.EndUpdate;
end;

end;
Run Code Online (Sandbox Code Playgroud)

  • 我有一个更好的主意.ListView1.Items.item [X] .subitems.Strings [Y]:='在项目X'的子项Y处的字符串; :) +1然后接受了. (2认同)