首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

RzPageControl获取当前页DBGrid名解决方法

2013-01-04 
RzPageControl获取当前页DBGrid名RzPageControl里面多个页面每个都放有TGroupBox,TGroupBox里面放至了DBGr

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;

[解决办法]
既然用了:
if ((RzPageControl1.Pages[j].Controls[i] as TGroupBox.NewInstance) is TDBGrid) then
来判断,为什么显示却用了:
showmessage((RzPageControl1.Pages[j].Controls[i] as TDBGrid).Name); 
而不是用:
showmessage((RzPageControl1.Pages[j].Controls[i] as TGroupBox.NewInstance)
   as TDBGrid).Name); 
来显示呢?
[解决办法]
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;


看样子你还不大了解我那个例子啊,后来不是有好心人给你解析了吗?
PS:问题解决的话要结贴,不结贴都不想回答你问题了

热点排行