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

posted @   圣诞大叔  阅读(1121)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示