起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 144|回复: 6

请问如何实现数据项的联动呢?**

[复制链接]
发表于 2008-5-22 15:36:27 | 显示全部楼层 |阅读模式
请问如何实现数据项的联动呢?
我表达的可能不明确,需要是这样的:
我有设备信息表{编号,资源类别,设备类别...}设备类型表{编号,名称,资源类别,父编号}//资源类别是开始的设计,现在没有用到

资源类别有网络系统,通信系统,计算机系统等,
设备类别有网络系统-->路由器/网关等。
我现在希望选择路由器设备,上面资源类别自动填充网络系统,请问该如何做呢?
图如下

devicetype_new.jpg

38.78 KB, 下载次数: 108

回复

使用道具 举报

 楼主| 发表于 2008-5-22 15:37:09 | 显示全部楼层

图2

图2
设备类型表:

devicetype_2.jpg

43.55 KB, 下载次数: 111

回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-22 17:06:25 | 显示全部楼层

我想这样写,但是不成功,

设备信息表中设备类型使用查找字段,查找设备类型表中数据,表现为树型。
刚我这样写,但是不成功,也就是我选择路由器,而上面不会自动填上网络系统。
请问有什么好办法,实现我说的需求么?

procedure TSBYWXX.DataSetSBXXSJJFieldChange(DataSet: TDataSet; Field: TDataField);
var
   sDeviceType:Integer;
   sSystemType:String;
begin
    if Field.FieldName = 'DeviceType' then
      begin
      sDeviceType:=SysUtils.strtoint(DataSet.FieldByName('DeviceType').AsString);
      Case sDeviceType of
       000010..000019:  //网络系统
               DataSet.FieldByName('SystemType').AsString:='000001';
       000020..000029:
               DataSet.FieldByName('SystemType').AsString:='000002';
       000030..000039:
               DataSet.FieldByName('SystemType').AsString:='000003';
       000040..000049:
               DataSet.FieldByName('SystemType').AsString:='000004';
       end;//end case
      // jsDialogs.ShowMsg(AValue,'GetParamValue');
      end;
end;
回复 支持 反对

使用道具 举报

发表于 2008-5-22 17:31:03 | 显示全部楼层
使用查找填充应该可以实现:
查找2楼的表,关键字段是 FBH,显示字段是 MC,
过滤的地方填写 BH等于当前数据集的 设备类型号
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-22 17:53:31 | 显示全部楼层

按你的办法没有成功呀?

按你的办法没有成功呀?改变了设备类别,上面资源类别并不会变化。
你那儿实验成功了么?
回复 支持 反对

使用道具 举报

发表于 2008-5-22 17:59:43 | 显示全部楼层
选中查找定义中过滤的使用动态查找范围
看看
回复 支持 反对

使用道具 举报

发表于 2008-5-26 11:13:13 | 显示全部楼层
楼主,怎么样了?
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-13 23:21 , Processed in 0.044612 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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