Hola danielmj.
Código Delphi
[-]
procedure JoinListViews(LV1, LV2, LV3: TListView);
var
c,r: Integer;
li: TListItem;
begin
for r:= 0 to 1 do
begin
LV3.Columns.Add;
LV3.Column[r].Width:= 60;
end;
LV3.Column[0].Caption:= 'CONCEPTO';
LV3.Column[1].Caption:= 'VALOR';
for r:= 0 to LV1.Items.Count-1 do
begin
for c:= 0 to LV1.Columns.Count-2 do
begin
li:= LV3.Items.Add;
li.Caption:= LV1.Column[c+1].Caption;
li.SubItems.Add(LV1.Items[r].SubItems[c]);
end;
end;
for r:= 0 to LV2.Items.Count-1 do
begin
for c:= 0 to LV2.Columns.Count-2 do
begin
li:= LV3.Items.Add;
li.Caption:= LV2.Column[c+1].Caption;
li.SubItems.Add(LV2.Items[r].SubItems[c]);
end;
end;
end;
Uso:
Código Delphi
[-]
procedure TForm1.btnJoinClick(Sender: TObject);
begin
JoinListViews(ListView1, ListView2, ListView3);
end;
En el ejemplo, los dos ListViews se concatenan uno debajo del otro en un tercero, de acuerdo al formato que mostraste en el mensaje anterior:
Saludos