Delphi 怎样获得当前活动窗体上的指定类型控件?

比如说我现在有Form1上面有多个Tabsheet,而每个TabSeet上又都有一个DBGrid,我怎么样才可以取得当前显示页的DBGrid呢?不好意思,可能是我说的不是... 比如说我现在有 Form1 上面有多个Tabsheet,而每个TabSeet上又都有一个DBGrid,我怎么样才可以取得当前显示页的DBGrid呢?
不好意思,可能是我说的不是很清楚,我用的是MDI框架,我想在主窗体(MainFrm)上做一个刷新的按钮(RefreshButton),在我点RefreshButton的时候,自动抓取当前活动Tabsheet上的DBGrid.DataSource.DataSet。不知道我这个思路是不是有点问题!
展开
 我来答
w198933333
2011-12-20 · 超过21用户采纳过TA的回答
知道答主
回答量:102
采纳率:0%
帮助的人:36.4万
展开全部
大哥,每个DBGRID都有他自己的名字,你直接调用名字不就好了?不管你是N个TABSHEET还是一个页面上有多个DBGRID,他们都是有名字的,第一个拖上去的就叫DBGRID1,第二个就叫DBGRID2,此外,你还可以在NAME属性里对其重新命名。使用的时候调用不同的名字就可以了。。。。
追问
不好意思,可能是我说的不是很清楚,我用的是MDI框架,我想在主窗体(MainFrm)上做一个刷新的按钮(RefreshButton),在我点RefreshButton的时候,自动抓取当前活动Tabsheet上的DBGrid.DataSource.DataSet。不知道我这个思路是不是有点问题!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fenghanly
2011-12-20 · TA获得超过904个赞
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:111万
展开全部
procedure TForm1.Button3Click(Sender: TObject);
var
i: Integer;
begin
for i := 0 to Self.ComponentCount - 1 do
begin
if Self.Components[i] is TDBGrid then
begin
if (Self.Components[i] as TDBGrid).Parent.Name =
PageControl1.Pages[PageControl1.TabIndex].Name then
begin
ShowMessage('当前DBGrid的名字是:'+(Self.Components[i] as TDBGrid).Name);
end;
end;
end;
end;
更多追问追答
追问
不好意思,可能是我说的不是很清楚,我用的是MDI框架,我想在主窗体(MainFrm)上做一个刷新的按钮(RefreshButton),在我点RefreshButton的时候,自动抓取当前活动Tabsheet上的DBGrid.DataSource.DataSet。不知道我这个思路是不是有点问题!
追答
把 ShowMessage('当前DBGrid的名字是:'+(Self.Components[i] as TDBGrid).Name);
换成 (Self.Components[i] as TDBGrid).DataSource.DataSet.Refresh;然后跳出循环就可以了

要学会举一反三.我写的只是个例子
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
点滴生活百事通
2011-12-20
知道答主
回答量:25
采纳率:100%
帮助的人:10.5万
展开全部
首先你要知道这个DBGRID的名字,例如:
if Self.FindComponent('DBGrid1') <> nil then
do something
追问
不好意思,可能是我说的不是很清楚,我用的是MDI框架,我想在主窗体(MainFrm)上做一个刷新的按钮(RefreshButton),在我点RefreshButton的时候,自动抓取当前活动Tabsheet上的DBGrid.DataSource.DataSet。不知道我这个思路是不是有点问题!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名_热心网友
2012-01-01 · TA获得超过719个赞
知道大有可为答主
回答量:3827
采纳率:0%
帮助的人:8397万
展开全部
我有一个进销存,你把邮箱发给我咯,但是我是通过VS2010开发的开发模式是MVC2.0页面都是asp.net的你要的话给我邮箱
郁闷都要给你发你要不
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式