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

QQ登录

只需一步,快速开始

查看: 1861|回复: 9

[结贴] 如何获取当前光标所在或当前列值变化的grid的列名

[复制链接]

51

主题

268

帖子

496

积分

中级会员

Rank: 3Rank: 3

积分
496
QQ
发表于 2014-6-14 17:03:39 | 显示全部楼层 |阅读模式
本帖最后由 xuni2 于 2014-6-14 21:56 编辑

如何获取当前光标所在或当前列值变化的grid的列名,我现在想要在gird的RowValueChanged事件中,得到是哪一列的值发生变化。。请问如何获取改列名。我现在想实现的功能是当修改了某一列的值,就会触发某个JS函数(只有某列修改才会触发,其他列修改不触发),有无其他什么方式可以处理。

242

主题

1418

帖子

2325

积分

金牌会员

批判主义者

Rank: 6Rank: 6

积分
2325
QQ
发表于 2014-6-14 17:05:56 | 显示全部楼层
event.column
如果我说对了 请别忘记点赞.
回复 支持 反对

使用道具 举报

310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2014-6-14 17:16:59 | 显示全部楼层
楼上正解
QQ:179785966
回复 支持 反对

使用道具 举报

51

主题

268

帖子

496

积分

中级会员

Rank: 3Rank: 3

积分
496
QQ
 楼主| 发表于 2014-6-14 21:34:52 | 显示全部楼层
本帖最后由 xuni2 于 2014-6-14 21:56 编辑
腹部流出的肉 发表于 2014-6-14 17:05
event.column

试过,好像不行
mainActivityDetail.detailGridRowValueChanged = function(event){
        alert(event.column);
};

打印都是undefined


我现在想实现的功能是当修改了某一列的值,就会触发某个JS函数(只有某列修改才会触发,其他列修改不触发),有无其他什么方式可以处理。
回复 支持 反对

使用道具 举报

242

主题

1418

帖子

2325

积分

金牌会员

批判主义者

Rank: 6Rank: 6

积分
2325
QQ
发表于 2014-6-14 22:30:56 | 显示全部楼层
本帖最后由 腹部流出的肉 于 2014-6-14 22:32 编辑
xuni2 发表于 2014-6-14 21:34
试过,好像不行
mainActivityDetail.detailGridRowValueChanged = function(event){
        alert(event ...


在数据组件的onValueChanged或onValueChanging的时候写代码

xxxxActivity.bizDataIDValueChanged = function(event){
        if(event.column == 'columnName'){ //columnName --> relationName
        }
}
//通过上面为xxxxActivity添加函数bizDataIDValueChanged触发bizDataID的值改变 可以实现你的需求

评分

参与人数 1 +5 收起 理由
jishuang + 5 赞一个!

查看全部评分

如果我说对了 请别忘记点赞.
回复 支持 反对

使用道具 举报

51

主题

268

帖子

496

积分

中级会员

Rank: 3Rank: 3

积分
496
QQ
 楼主| 发表于 2014-6-14 22:56:00 | 显示全部楼层
腹部流出的肉 发表于 2014-6-14 22:30
在数据组件的onValueChanged或onValueChanging的时候写代码

xxxxActivity.bizDataIDValueChanged = fun ...

您的意思明白了,但是有点问题。刚开始初始页面的时候,也会执行。这样会导致一些问题,会报错getCurrentID() 取不到
回复 支持 反对

使用道具 举报

242

主题

1418

帖子

2325

积分

金牌会员

批判主义者

Rank: 6Rank: 6

积分
2325
QQ
发表于 2014-6-14 22:57:05 | 显示全部楼层
xuni2 发表于 2014-6-14 22:56
您的意思明白了,但是有点问题。刚开始初始页面的时候,也会执行。这样会导致一些问题,会报错getCurrent ...

数据延迟加载试试
如果我说对了 请别忘记点赞.
回复 支持 反对

使用道具 举报

51

主题

268

帖子

496

积分

中级会员

Rank: 3Rank: 3

积分
496
QQ
 楼主| 发表于 2014-6-14 23:12:56 | 显示全部楼层
腹部流出的肉 发表于 2014-6-14 22:57
数据延迟加载试试

呃,,哪里设置呢
回复 支持 反对

使用道具 举报

242

主题

1418

帖子

2325

积分

金牌会员

批判主义者

Rank: 6Rank: 6

积分
2325
QQ
发表于 2014-6-15 09:09:34 | 显示全部楼层
xuni2 发表于 2014-6-14 23:12
呃,,哪里设置呢

设置bizData的auto-load=false 也不要在其他数据设置自动加载
然后在js中设置filter 然后对该bizData设置这个filter再刷新数据呀
如果我说对了 请别忘记点赞.
回复 支持 反对

使用道具 举报

310

主题

4938

帖子

4767

积分

论坛元老

Rank: 8Rank: 8

积分
4767
QQ
发表于 2014-6-15 12:50:01 | 显示全部楼层
xuni2 发表于 2014-6-14 22:56
您的意思明白了,但是有点问题。刚开始初始页面的时候,也会执行。这样会导致一些问题,会报错getCurrent ...

你是不是写错地方了,我这边测试,无论在页面刚加载,还是增行,都是不会去执行valuechange事件
只有修改值的时候,才去出触发个事件

你上面写的detailGridRowValueChanged ,这个是哪里的事件,为什么我这里没有?

评分

参与人数 1 +4 收起 理由
jishuang + 4 赞一个!

查看全部评分

QQ:179785966
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-17 14:12 , Processed in 0.060535 second(s), 28 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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