RzPageControl获取当前页DBGrid名
RzPageControl里面多个页面每个都放有TGroupBox,TGroupBox里面放至了DBGrid,判断当前页面的DBGrid是那个。根据论坛朋友给的代码。自学了点。但是还没有实现。请教各位大神。
procedure TForm1.Button12Click(Sender: TObject;GroupBoxstring:TGroupBox );
var i,j,k:integer;
begin
j:=RzPageControl1.ActivePageIndex;
for i:=0 to
RzPageControl1.Pages[j ].ControlCount-1 do
if (RzPageControl1.Pages[j].Controls[i] is TGroupBox)then
for k:=0 to
(RzPageControl1.Pages[j].Controls[i] as TGroupBox).ControlCount - 1 do
if ((RzPageControl1.Pages[j].Controls[i] as TGroupBox.NewInstance) is TDBGrid) then
showmessage((RzPageControl1.Pages[j].Controls[i] as TDBGrid).Name);
end;
procedure TForm1.Button5Click(Sender: TObject);
var i,j,k:integer;
begin
j:=PageControl1.ActivePageIndex;
for i:=0 to PageControl1.Pages[j ].ControlCount-1 do
if (PageControl1.Pages[j].Controls[i] is TGroupBox)then
begin
for k:=0 to (PageControl1.Pages[j].Controls[i] as TGroupBox).ControlCount-1 do
showmessage(((PageControl1.Pages[j].Controls[i] as TGroupBox).Controls[k] as TDBGrid).Name);
end;
end;
明白了没有?
[其他解释]
procedure TForm1.Button12Click(Sender: TObject);
var i,j,k:integer;
begin
j:=RzPageControl1.ActivePageIndex;
for i:=0 to RzPageControl1.Pages[j ].ControlCount-1 do
if (RzPageControl1.Pages[j].Controls[i] is TGroupBox)then
begin
for k:=0 to (RzPageControl1.Pages[j].Controls[i] as TGroupBox).ControlCount-1 do
showmessage(((RzPageControl1.Pages[j].Controls[i] as TGroupBox).Controls[k] as TDBGrid).Name);
end;
end;
procedure TForm1.Button12Click(Sender: TObject);
var i,j,k:integer;
begin
j:=RzPageControl1.ActivePageIndex;
for i:=0 to RzPageControl1.Pages[j ].ControlCount-1 do
if (RzPageControl1.Pages[j].Controls[i] is TGroupBox)then
begin
for k:=0 to (RzPageControl1.Pages[j].Controls[i] as TGroupBox).ControlCount-1 do
if ((RzPageControl1.Pages[j].Controls[i] as TGroupBox).Controls[k] is TDBGrid)then//少敲了这行代码
showmessage(((RzPageControl1.Pages[j].Controls[i] as TGroupBox).Controls[k] as TDBGrid).Name);
end;
end;