PB日志-数据窗口控件函数33.GetChild( )

本文介绍了如何在PowerBuilder中使用GetChild()函数获取指定子数据窗口的引用,并将其保存到变量中,以便进行后续操作。

GetChild( )

功能:得到指定子数据窗口的引用并将其保存到变量中 然后应用程序就可以使用该变量来操作子数据窗口对象

语法:dwcontrol.GetChild ( name, dwchildvariable )
参数:dwcontrol 数据窗口控件名
      name string 类型 列名 该列包含了欲得到引用的子数据窗口对象
      dwchildvariable DataWindowChild 类型 用于存储该函数得到的子数据窗口对象的引用
      返回值:Integer 函数执行成功时返回 1, 出错时返回-1 , 子数据窗口对象引用保存在变量dwchildvariable 中 如果任何参数的值为NULL , 则GetChild()函数返回NULL
用法:这里所说的子数据窗口包括两方面的意义 一是数据窗口对象中的下拉数据窗 口 DropDownDataWindow 是复合风格数据窗口对象中的子报表 , 需要注意的是在创建复合风格的数据窗口对象时,它使用的子报表实际上也是个数据窗口对象 必须要设置其Name 属性,否则就不能使用GetChild()函数来得到该子报表的引用。当应用程序需要以显式方式提取子数据窗口对象的数据时 先使用 GetChild()函数得到该子数据窗口对象的引用 然后像操作普通数据窗口控件那样检索子数据窗口对象的数据。一般来说 在显示主数据窗口时 PowerBuilder 会自动提取出子数据窗口对象的数据,但是 当子数据窗口对象使用了提取参数或检索条件发生变化且需要检索新的数据时 应用程序就需要自己编写代码来实现数据提取工作了 。
  当用户在主数据窗口中插入一行或提取主数据窗口的数据时 PowerBuilder 也自动地提取出子数据窗口的数据 但是 如果子数据窗口带有提取参数 那么PowerBuilder 将显示一个对话框 让用户输入提取参数的值 要想不让PowerBuilder 显示该对话框 应用程序中可以在修改主数据窗口之前先显式地提取出子数据窗口的数据。需要注意的是,如果嵌套报表的数据源为外部数据源,那么应用程序不能使用 GetChild()函数得到子报表的引用。使用数据窗口控件的对象函数 Modify()修改数据窗口的某些属性后,先前执行 GetChild()函数得到的子数据窗口对象引用可能不再有效。此时 需要重新调用 GetChild() 函数来得到有效的子数据窗口对象引用
示例:本例中 主数据窗口的 emp_state 列是个子数据窗口对象,该子数据窗口对象需要一个 地区 值作为提取参数,为了不让PowerBuilder 显示输入提取参数的对话框代码中首先检索了子数据窗口的数据 ,之后再提取主数据窗口的数据
  DataWindowChild state_child //说明一个DataWindowChild 类型的变量
  integer rtncode
  rtncode = dw_1.GetChild("emp_state", state_child)
  // 得到名称为 emp_state 的子数据窗口对象的引用
  IF rtncode = -1 THEN MessageBox( "错误", "不是子数据窗口")
  // 如果未与数据库建立连接时首先建立连接
  CONNECT USING SQLCA;
  // 设置子数据窗口使用的事务对象
  state_child.SetTransObject(SQLCA)
  // 使用地区值 北京 检索子数据窗口对象的数据
  state_child.Retrieve("East")
  // 设置主数据窗口使用的事务对象并提取数据
  dw_1.SetTransObject(SQLCA)
  dw_1.Retrieve()
使用EmmyLua代码在unity中实现以下功能: 有七张图片,每一张图片都是七步洗手法的一个步骤分别标记为1、2、3、4、5、6、7,有14个图片位置,分为两排,每一排都有7个位子,下面7个位置默认放七个图片,且随机排序,需要将每个图片按照顺序排进上面的7个位置中。图片要求是拖到那个位置。全部到位后显示提交按钮,点击提交按钮,图片不可拖动,首先判断图片的排序位置是否正确,正确就在图片上显示正确的图案,错误就显示错误的图片。 如果全对,提交按钮隐藏,显示“下一步”按钮。 如果位置有错误,提交按钮隐藏,显示“正确答案”按钮,点击后,下面七个位置隐藏,正确和错误的图案隐藏,七个图片自动进行排序移动到正确的位置,正确答案按钮隐藏,显示下一步按钮。 点击下一步按钮,事件完成。 要在unity中手动创建14个位置,手动放置好了7张图片,也创建了三个按钮 要求代码简单易懂,大概就以上要求,可以进行修改优化补充,除此之外,要求填充在以下代码框架中,不能修改框架,可以在框架外添加函数。要求代码通俗易懂,且写出完整代码,不能省略 --- --- Created by sdzz --- DateTime: 2025-05-29 --- ----@class UIXiShouPaiXun:UIBaseView2 local UIXiShouPaiXun = BaseClass("UIXiShouPaiXun", UIBaseView2) -- 创建完调用 function UIXiShouPaiXun:LoadCallBack() -- override --UINameTable init start --上面的七个位置 ---@type UnityEngine.GameObject self.upimg1 = self:FindObj("upimg1") ---@type UnityEngine.GameObject self.upimg2 = self:FindObj("upimg2") ---@type UnityEngine.GameObject self.upimg3 = self:FindObj("upimg3") ---@type UnityEngine.GameObject self.upimg4 = self:FindObj("upimg4") ---@type UnityEngine.GameObject self.upimg5 = self:FindObj("upimg5") ---@type UnityEngine.GameObject self.upimg6 = self:FindObj("upimg6") ---@type UnityEngine.GameObject self.upimg7 = self:FindObj("upimg7") --下面的七个位置 ---@type UnityEngine.GameObject self.downimg1 = self:FindObj("downimg1") ---@type UnityEngine.GameObject self.downimg2 = self:FindObj("downimg2") ---@type UnityEngine.GameObject self.downimg3 = self:FindObj("downimg3") ---@type UnityEngine.GameObject self.downimg4 = self:FindObj("downimg4") ---@type UnityEngine.GameObject self.downimg5 = self:FindObj("downimg5") ---@type UnityEngine.GameObject self.downimg6 = self:FindObj("downimg6") ---@type UnityEngine.GameObject self.downimg7 = self:FindObj("downimg7") --七张图片 ---@type UnityEngine.GameObject self.xiShouImg1 = self:FindObj("xiShouImg1") ---@type UnityEngine.GameObject self.xiShouImg
最新发布
06-04
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值