Re: Delphi listbox - substrings

Posted by Creeek

In Reply to: Re: Using Delphi listbox posted by delphiman

I have recently created this function to add to substrings, which effectively add to columns!!
NOTE: Extra columns are added under the 'columns' property in the ListView object inspector.

Not pretty code, but easy to understand! It can be changed for less columns. Obviously it could be more elegant, using an array or Tstrings to call it with, but this is easier to understand.

procedure TMain.AddToListItem(ListViewItem: TListView; 
  Str1, Str2, Str3, Str4, Str5, Str6, Str7, Str8, Str9: string);
var
  ListItem : TListItem;
begin
  ListViewItem.Items.BeginUpdate;
  with ListViewItem do begin
    ListItem := ListViewItem.Items.Add;
    ListItem.Caption := Str1; // 1st column to the left
    if Str2 <> '' then ListItem.SubItems.Add(Str2);
    if Str3 <> '' then ListItem.SubItems.Add(Str3);
    if Str4 <> '' then ListItem.SubItems.Add(Str4);
    if Str5 <> '' then ListItem.SubItems.Add(Str5);
    if Str6 <> '' then ListItem.SubItems.Add(Str6);
    if Str7 <> '' then ListItem.SubItems.Add(Str7);
    if Str8 <> '' then ListItem.SubItems.Add(Str8);
    if Str9 <> '' then ListItem.SubItems.Add(Str9);
  end;
  ListViewItem.Items.EndUpdate;
end;

A call example, where Listfiles is the name of the TListview component:

AddToListItem(ListFiles, '1st   col', 'col2','Column3,'','','','', '', ''); 

Empty strings allow for Listview box's with smaller amount of columns.

It works fine for me :)


DelphiLand Discussion Forum