动态生成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.