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

QQ登录

只需一步,快速开始

楼主: zcbys

[结贴] gridselect下拉选项树形时默认选中的问题

[复制链接]

27

主题

101

帖子

413

积分

中级会员

Rank: 3Rank: 3

积分
413
QQ
 楼主| 发表于 2019-9-3 11:21:46 | 显示全部楼层
jishuang 发表于 2019-9-3 08:58
本地测试是没问题,把你的.w和js文件发一下看看,数据库存的是什么值?

gridSelect7是我要做的,orgSelectPC1是试验的,附件excel里的数据是gridSelect7要调用的,用的是3.8版本的bex5

info.rar

5.25 KB, 下载次数: 36

w和js

T_ZD_YWFXZDB.rar

37.92 KB, 下载次数: 31

数据表

回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2019-9-3 13:29:00 | 显示全部楼层
页面是通过弹出框打开的?1.orgSelectPC中获取option的data的xid都写错了值可以获取到?
2.你存的是sCode的值,find的是给的是SCODE确定find获取到值了?关系名都不对值肯定没找到
3.setRowChecked方法需要的是rowid,你存的值Code的值,要设置多选就需要自己遍历find查找返回的数组获取rowid去控制多选

你发的orgSelectPC组件中的事件代码做了调整,测试问题,自己在debugger调试确认自己的下拉的值
  1.          var data = this.comp("bizData1");        //获取option关联的data
  2.         grid.on('onExpandRow', function(event) {//使用on方法添加onExpandRow事件
  3.         
  4.             //取消已经选择的
  5.             var checkIDs = grid.getCheckeds();

  6.             if($.isArray(checkIDs)){
  7.                 for(i=0;i<checkIDs.length;i++){
  8.                         grid.setRowChecked(checkIDs[i],false);
  9.                 }
  10.             }
  11.             
  12.             //设置行选中        
  13.             if(id){
  14.                     var ids = id.split(valueSeparator);

  15.                     for(var i = 0;i<ids.length;i++){
  16.                             var rows = data.find([ 'sCode' ], [ ids[i] ], true);
  17.                     if(rows.length > 0){
  18.                   
  19.                             grid.setRowChecked(rows[0].getID(),true);
  20.                     }
  21.                 }
  22.             }         
  23.         });
复制代码


远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

27

主题

101

帖子

413

积分

中级会员

Rank: 3Rank: 3

积分
413
QQ
 楼主| 发表于 2019-9-3 15:35:21 | 显示全部楼层
jishuang 发表于 2019-9-3 13:29
页面是通过弹出框打开的?1.orgSelectPC中获取option的data的xid都写错了值可以获取到?
2.你存的是sCode的 ...

按你说的改了orgSelectPC没有问题,那gridSelect7那个为什么有问题呢?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2019-9-3 15:55:06 | 显示全部楼层
把事件与这个操作无关的代码先去掉,然后debugger一步一步调试看具体执行到什么地方错了
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

27

主题

101

帖子

413

积分

中级会员

Rank: 3Rank: 3

积分
413
QQ
 楼主| 发表于 2019-9-3 18:25:56 | 显示全部楼层
本帖最后由 zcbys 于 2019-9-3 18:34 编辑
jishuang 发表于 2019-9-3 15:55
把事件与这个操作无关的代码先去掉,然后debugger一步一步调试看具体执行到什么地方错了 ...

debugger看过了~没有什么错误~只是第一次加载后执行没有效果~之后都有效果。

另外和同事试验了下,发现将下拉选项的data的delayLoad设置成否、下拉框的selectFilter设置为空、下拉框onShowOption事件中根据另一个下拉框过滤当前下拉框选项的脚本去掉,这样之后就默认选中已经选择的项了(没有用你给的代码),所以想是不是这三个影响了gridselect自带的默认选中功能?
(之前加这三个设置是为了实现两点~1是根据另一个gridselect过滤当前选项~2不让选择父一级)
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2019-9-4 09:17:40 | 显示全部楼层
我前面就说了过了delayLoad设置成否,数据默认加载了默认就应该可以选中

设置为true的方式就是我发的代码控制,24楼也说了把跟事件中除了控制选择的其他的代码去掉测试
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

27

主题

101

帖子

413

积分

中级会员

Rank: 3Rank: 3

积分
413
QQ
 楼主| 发表于 2019-9-4 12:31:10 | 显示全部楼层
jishuang 发表于 2019-9-4 09:17
我前面就说了过了delayLoad设置成否,数据默认加载了默认就应该可以选中

设置为true的方式就是我发的代码 ...

那我之前理解错了~我现在按你说的~delayLoad设置成true~其他代码去掉~用你的代码~是可以默认选中的~
然后我在此基础上加上了onShowOption事件中根据另一个下拉框过滤当前下拉框选项的脚本~也可以默认选中~那现在还剩下一个问题~就是如何禁止选择父一级选项(这个原来是在下拉框的selectFilter中设置了过滤,但在现在能够默认选中的基础上加上后会影响默认选中)
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2019-9-4 13:41:25 | 显示全部楼层
本地测试设置selectFilter也没问题
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

27

主题

101

帖子

413

积分

中级会员

Rank: 3Rank: 3

积分
413
QQ
 楼主| 发表于 2019-9-4 15:08:39 | 显示全部楼层
jishuang 发表于 2019-9-4 13:41
本地测试设置selectFilter也没问题

我在selectFilter中加的是$model.ywfxData.val("FJB") =='2'(ywfxData是下拉框选项data),写法有错误吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36069
发表于 2019-9-4 16:09:52 | 显示全部楼层
$row.val("FJB") =='2'
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-29 04:05 , Processed in 0.098835 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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