动态生成Listview并添加列表

本博未注明类别均为原创。

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, RzListVw, StdCtrls, ExtCtrls, RzTabs;

type
  TForm1 = class(TForm)
    Panel1: TPanel;
    Button1: TButton;
    RzPageControl1: TRzPageControl;
  function GetListview : TRzListview;  //定义函数 功能: 查找当前控件转为listview
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  mylistview : TRzListview;
  tab : TRzTabSheet;
implementation

{$R *.dfm}


function TForm1.Getlistview : TRzListview;
var
  I: Integer;
  Alistview: TRzListview;
begin
  Result := nil;
  ShowMessage(IntToStr(RzPageControl1.ActivePage.ControlCount));
  for I := 0 to RzPageControl1.ActivePage.ControlCount-1  do
  begin
    if RzPageControl1.ActivePage.Controls[I] is TRzListview then
    begin
      Alistview := RzPageControl1.ActivePage.Controls[I] as TRzListview;
      Result := Alistview;
    end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  mylistview := GetListview;  //容错可以自行修改。
  mylistview.Items.Add;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin  //动态生成并赋值。
  tab := TRzTabSheet.Create(RzPageControl1);
  tab.Parent := RzPageControl1;
  tab.PageControl := RzPageControl1;
  tab.Caption := '00000';
  mylistview := TRzListView.Create(tab);
  mylistview.Parent := tab;
  mylistview.Align := alClient;
  mylistview.ViewStyle := vsReport ;
  mylistview.Columns.Add;
  mylistview.Columns.Items[0].Caption := '00000';
  tab := TRzTabSheet.Create(RzPageControl1);
  tab.Parent := RzPageControl1;
  tab.PageControl := RzPageControl1;
  tab.Caption := '111111';
  mylistview := TRzListView.Create(tab);
  mylistview.Parent := tab;
  mylistview.Align := alClient;
  mylistview.ViewStyle := vsReport;
  mylistview.Columns.Add;
  mylistview.Columns.Items[0].Caption := '111111'; 
end;

end.

你可能感兴趣的:(动态生成Listview并添加列表)