起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 168|回复: 7

【搞定】onbuttonclick问题**

[复制链接]
发表于 2008-1-25 17:52:54 | 显示全部楼层 |阅读模式
在上级代码字段中,我通过onbuttonclick弹出的窗体选择记录,
想实现将选择记录的ID返回,
不知道该如何附值

未命名.gif

46.74 KB, 下载次数: 98

回复

使用道具 举报

发表于 2008-1-26 10:17:35 | 显示全部楼层
在你onbuttonclick的事件里,释放弹出窗体前,直接访问这个窗体里的内容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-26 17:30:29 | 显示全部楼层
我知道直接访问窗体的内容

但ONBUTTONCLICK是写在TINFO里的,我不知道怎么将返回值传到知识库代码维护的上级代码中
回复 支持 反对

使用道具 举报

发表于 2008-1-28 08:23:49 | 显示全部楼层
我觉得是否可以这样:
(1) 如果上面窗体所包含的两个数据集都在同一个TINFO中,onbuttonClick中打开的窗体关闭的时候,那么直接在TINFO 中 赋值就行了,因为此时数据集已经定位到你操作的记录上了。数据集1.父代码:=数据集2.代码(父代码)
(2) 如果不在同一个TINFO中,可以这样做。在下面那个主窗体中,用一个数据集代理代表下面的数据集,用另一个数据集代理代表上一个数据集。然后写个事件:包含 这样的代码,数据集1.父代码:=数据集2.代码(父代码)。并在下面窗体打开的时候,把该事件赋值给上面窗体引用的业务信息中那个数据集字段的ONbuttonCLick事件。
回复 支持 反对

使用道具 举报

发表于 2008-1-28 09:03:14 | 显示全部楼层
最初由 欧诺万德 发布
[B]我知道直接访问窗体的内容

但ONBUTTONCLICK是写在TINFO里的,我不知道怎么将返回值传到知识库代码维护的上级代码中 [/B]



楼主返回这个值是要用在哪里?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-28 09:29:41 | 显示全部楼层
就是用在主窗体(知识库代码维护窗体)DATAGRID里面的上级代码里
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-28 09:47:05 | 显示全部楼层
知道了 DATASET直接附值就行了

procedure TINFOKNOWLEDGECLASS.FIELD_KNOWLEDGECLASS_FPARENTCODEButtonClick(Sender: TObject);
var
  lForm :TSELPARENTCODE;
begin
  lForm :=TSELPARENTCODE.Create(self.Context);
  try
    if lForm.ShowModal =  Business.Forms.Controls.mrOk then begin
       FSelRec :=lForm.SelRecCode;
       //if not DataSetKNOWLEDGECLASS.Active then begin
       if DataSetKNOWLEDGECLASS.State <> TDataSetState.dsEdit then
          DataSetKNOWLEDGECLASS.Edit;
          DataSetKNOWLEDGECLASS.FieldByName('FPARENTCODE').AsString :=FSelRec;
       //end;
    end;
  finally
    lForm.Free;
  end;
end;
回复 支持 反对

使用道具 举报

发表于 2008-1-28 09:49:36 | 显示全部楼层
对啊
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-6 03:49 , Processed in 0.042236 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表