1分6合

核心企业

CORE ENTERPRISE
当前位置:网站1分6合>软件开发 > 正文内容

Datacell实现级联解决方法

 

问题描述如下:

DATACELL中如何实现级联下拉框?请问有办法实现吗?
客户这边有个培训反馈表,很想用我们EOS的DATACELL实现,可是问题是表中有级联下拉框,通常遇到这样有级联字段的表,都是采用单表来实现,不知道DATACELL中有没有什么办法能实现呢?

问题分析:
   问题中涉及到两个知识点:
      
1.获取datacell选中下拉列表框的值,其中下拉列表数据来源又分以下几种:
(1)业务 字典、(2)数据库表、(3)页面上手工编写 。

 2.刷新datacell中级联的下拉列表框

 

解决办法:

可以分以下几步来做:

第一步:为richclient:optionTable标签增加onclick事件,参考代码如下:
       <richclient:optionTable onclick="getCITY" tableId="optionsTableCITY"
action="mydatacell.biz.bizCityQuery" xpaths="list[@type='REPORT_CITY']" width="100" height="100">

        注意:onclick事件调用javascript函数getCITY的写法,不要写成getCITY()

第二步:编写javascript函数getCITY,下面以下拉列表取自数据库表方式为例进行说明 ,其他方式类似。参考代码如下:

    function getCITY(entity){
       //获取dacecll选中下拉列表框的值,其中ID为下拉列表编码列的字段名
       var valueID=entity.getProperty("ID");
      
//根据参数改变Datacell下拉列表的内容,以下代码optionsTableSHIPCITY为要刷新的
级联下拉列表的ID,
 //清除下拉列表原来的数据
 optionsTableSHIPCITY.dataset.entities = null;
 optionsTableSHIPCITY.dataset.removedEntities = null;
 delete optionsTableSHIPCITY.dataset.entities;
 delete optionsTableSHIPCITY.dataset.removedEntities;
 
 optionsTableSHIPCITY.dataset.entities  = new EntityList();
 optionsTableSHIPCITY.dataset.removedEntities  = new EntityList();
 
 //构造下拉列表的查询条件XML串
 bizParam = "<REPORT_CITY><ID>" + valueID+"</ID></REPORT_CITY>";
 //查询下拉列表的业务逻辑
 bizAction='mydatacell.biz.bizCityQuery';
       //刷新下拉列表框
 optionsTableSHIPCITY.dataset.loadData( bizAction, bizParam, xpaths, 0, 10
);
     }

 



 

彩88-1分6合 大发11选5-1分6合 腾讯三分彩-1分6合 彩乐园-1分6合 彩天下-1分6合 万家彩票-1分6合 快彩网-1分6合