起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: zhaixin

数据组件(bizData、data)

  [复制链接]

41

主题

216

帖子

404

积分

中级会员

Rank: 3Rank: 3

积分
404
QQ
发表于 2013-7-19 09:24:10 | 显示全部楼层
给力   收藏了
一二三四五,上山打老虎

10

主题

33

帖子

139

积分

初级会员

Rank: 2

积分
139
发表于 2013-7-19 15:15:47 | 显示全部楼层
zhaixin 发表于 2012-11-26 10:42
计算fMoney列的合计计算fPrice列的平均值

mark

10

主题

33

帖子

139

积分

初级会员

Rank: 2

积分
139
发表于 2013-7-19 15:16:06 | 显示全部楼层
zhaixin 发表于 2013-2-18 10:21
使用data组件的find方法
array find( fields, values, first, caseInsensitive, partialKey)
参数:

mark

10

主题

33

帖子

139

积分

初级会员

Rank: 2

积分
139
发表于 2013-7-19 15:16:25 | 显示全部楼层
zhaixin 发表于 2013-2-19 11:14
在界面中要显示主从表数据,需要在w文件中放两个data,其中主data关联主表,从data关联从表,并设置从data ...

mark

13

主题

106

帖子

222

积分

中级会员

Rank: 3Rank: 3

积分
222
发表于 2013-8-23 08:50:13 | 显示全部楼层
zhaixin 发表于 2013-7-2 11:17
可以在data组件的ondataMainRefreshCreateParam事件中通过下面的代码给ksql中的参数赋值
mainActivity.dat ...

楼主辛苦!很多给力信息啊~另外我想问下,结合你的queryAction中,可以讲讲对应的Java中参数设置吗。比如,一个概念、某一个关系。

11

主题

1134

帖子

1261

积分

金牌会员

Rank: 6Rank: 6

积分
1261
QQ
发表于 2013-9-22 13:48:09 | 显示全部楼层

批量添加数据(使用onNewCreateParam事件)

本帖最后由 song_ning_ning 于 2013-9-22 14:29 编辑

单挑新建(就是系统的新建)
多条新建(是自己添加的一个普通按钮,通过调用newData()方法触发onNewCreateParam事件来实现多条记录的新建)
代码如下:
  1. var mainActivity = {};
  2. var createMore=false; //全局变量createMore 是为了区别单条新建还是多条新建
  3. //创建新增参数
  4. mainActivity.dataDetailNewCreateParam = function(event){
  5.         if(createMore){
  6.                 var data=justep.xbl('base');//这是基础表
  7.                 data.refreshData();
  8.                 for(i=0;i<data.getCount();i++){
  9.                         var rowID=data.getID(i);
  10.                         event.defaultValues.push({fCM:""+data.getValue('fCM',rowID)+"",fJG:""+data.getValue('fJG',rowID)+""});
  11.                 }
  12.         }
  13. };
  14. //多条新建
  15. mainActivity.trigger10Click = function(event){
  16.         createMore=true;
  17.         justep.xbl('dataDetail').newData();//每次调用newData()方法都会触发onNewCreateParam事件
  18.         createMore=false;
  19. };
复制代码
360截图20130922135754093.jpg




远程的联系方法QQ2025089647。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要

105

主题

524

帖子

813

积分

高级会员

Rank: 4

积分
813
QQ
发表于 2013-10-28 16:23:29 | 显示全部楼层
zhaixin 发表于 2012-11-23 14:18
1、插入记录2、追加记录3、批量插入记录
批量插入记录需要先形成数组,再使用data的newData方法。代码如下4 ...

这个代码只能设置一个默认值吗?我又两个textarea,我写了两句这样的js,但是只有第一句生效了

105

主题

524

帖子

813

积分

高级会员

Rank: 4

积分
813
QQ
发表于 2013-10-28 16:27:53 | 显示全部楼层
zhaixin 发表于 2012-11-23 14:18
1、插入记录2、追加记录3、批量插入记录
批量插入记录需要先形成数组,再使用data的newData方法。代码如下4 ...

哦 解决了 多个的话用逗号分开 event.defaultValues.push({rowID: '值',关系标识: '值',关系标识: '值'});即可

105

主题

524

帖子

813

积分

高级会员

Rank: 4

积分
813
QQ
发表于 2013-10-28 17:22:48 | 显示全部楼层
zhaixin 发表于 2012-11-23 14:18
1、插入记录2、追加记录3、批量插入记录
批量插入记录需要先形成数组,再使用data的newData方法。代码如下4 ...

如何做到 刚新建的时候显示的是默认值,鼠标单击默认值消失可以输入内容,而不需要将其删除再输入。

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
 楼主| 发表于 2013-12-4 09:10:10 | 显示全部楼层

实现树形的多级编号

本例要实现
2.png

界面上放grdMain,关联dataMain
dataMain的tree-option树形设置如下图所示
fFID是父关系
node-level-relation是节点级次关系,grid组件自动维护该关系的值
fBM是编码

QQ截图20131121153554.png

下面是代码
  1. var selectedid, selectedParentID, selectedCode, selectedLevel="";

  2. mainActivity.dataMainBeforeNew = function(event){
  3. //这里取到的是新增前选中的行的信息
  4.         selectedid = event.source.getID();
  5.         selectedParentID = event.source.getValue("fFID");
  6.         selectedCode = event.source.getValue("fBM");
  7.         selectedLevel = event.source.getValue("fNodeLevel");
  8. };

  9. mainActivity.dataMainAfterNew = function(event){
  10.         var maxCode="";
  11.         var newLevel = event.source.getValue("fNodeLevel");
  12.         if(newLevel == 0){//新建根
  13.                 maxCode = mainActivity.getNodeMaxCode("");
  14.         }else if(newLevel == selectedLevel){//新建同级
  15.                 maxCode = mainActivity.getNodeMaxCode(selectedParentID);
  16.         }else if(newLevel > selectedLevel){//新建子
  17.                 maxCode = mainActivity.getNodeMaxCode(selectedid);
  18.         }
  19.         event.source.setValue("fBM", maxCode);
  20. };

  21. mainActivity.getNodeMaxCode = function(parentID){
  22.         var maxCode="";
  23. //获取这个父节点下的所有子
  24.         var rows = justep.xbl("grdMain").grid.getSubItems(parentID);
  25.         if(rows){
  26.                 rows = rows.split(",");
  27.                 if(rows.length==1){
  28.                         maxCode = selectedCode + "001";
  29.                 }else{
  30.                         for(var id in rows){
  31.                                 if(maxCode < justep.xbl("dataMain").getValue("fBM",rows[id])){
  32.                                         maxCode = justep.xbl("dataMain").getValue("fBM",rows[id]);
  33.                                 }
  34.                         }
  35.                         var len = maxCode.length;
  36.                         var maxCodeLeft = maxCode.substr(0, len-3);
  37.                         var maxCodeRight = maxCode.substr(len-3, 3);
  38.                         maxCodeRight = justep.String.zeros(justep.String.toInt(maxCodeRight, 0) + 1,3);
  39.                         maxCode = maxCodeLeft+maxCodeRight;
  40.                 }
  41.         }
  42.         return maxCode;
  43. }
复制代码

点评

看完这个,热血沸腾啊,X5真是不错  发表于 2014-6-18 10:50
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴
高级模式
B Color Image Link Quote Code Smilies

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-20 11:31 , Processed in 0.068371 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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