...export a TStringGrid to a TListView?

Author: Thomas Stutz

Category: VCL

procedure StringGrid2ListView(StringGrid: TStringGrid; Listview: TListView);
var
  
i, j, k: Integer;
  ListItem: TListItem;
begin
  
ListView.Items.BeginUpdate;
  try
    with 
StringGrid, ListView do
    begin
      for 
j := 1 to ColCount - 1 do
        
Columns.Add;
      for j := 1 to RowCount - 1 do
      begin
        
{Get Item of First Column}
        
ListItem         := Listview.Items.Add;
        ListItem.Caption := Cells[1, j];
        for k := 1 to ColCount - 1 do
          
ListItem.Subitems.Add(Cells[k + 1, j]);
      end;
    end;
  finally
    
ListView.Items.EndUpdate;
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  
i: Integer;
begin
  
// Clear the ListView if necessary
  // Falls nötig, zuerst die ListView löschen
  
with ListView1 do
  begin
    
Items.BeginUpdate;
    try
      
ViewStyle := vsReport;
      Items.Clear;
      for i := Columns.Count - 1 downto do
        
listView_DeleteColumn(Handle, i);
    finally
      
Items.EndUpdate;
    end;
  end;
  // Copy StringGrid1 to ListView1
  
StringGrid2ListView(StringGrid1, ListView1);
end;

 

printed from
www.swissdelphicenter.ch
developers knowledge base