jQuery MiniUI

标题: grid的drawcell问题 [打印本页]

作者: xiaoNiuNew    时间: 2013-9-5 13:40:23     标题: grid的drawcell问题

本帖最后由 xiaoNiuNew 于 2013-9-5 14:38 编辑

grid 监听drawcell事件。例如,给单元格的值*1000。但这个单元格是可编辑的,当编辑的时候,显示的是*1000之前的值,并且,此时若输入一个数字,编辑框失去焦点后,会自动*1000。


能想到的就是监听编辑框的一些事件,例如监听值改变事件
    function cell3ValueChange(e){
       this.setValue(e.value/1000);
    }

这样做把输入与drawcell的效果抵消。当例如用户输入100,画面会先闪过0.1,再变成100。显示效果不太好
1.显示正常
[attach]2748[/attach]
2.编辑时变成了数据源的值
[attach]2749[/attach]
3用户输入1121
[attach]2750[/attach]
4变成了1121000
[attach]2751[/attach]


作者: felt    时间: 2013-9-5 14:01:46

2个事件触发的时间不一样,但是你为什么要抵消掉。
作者: xiaoNiuNew    时间: 2013-9-5 14:10:39

felt 发表于 2013-9-5 14:01
2个事件触发的时间不一样,但是你为什么要抵消掉。

不抵消的话,用户输入的值会被drawcell里的函数*1000。

我的需求是数据源的某列单位是(万元)。但显示的时候变成(元)。
作者: factory    时间: 2013-9-5 14:23:21

xiaoNiuNew 发表于 2013-9-5 14:10
不抵消的话,用户输入的值会被drawcell里的函数*1000。

我的需求是数据源的某列单位是(万元)。但显示 ...

e.cellHtml = value * 1000
不要修改e.value,只修改单元格文本
作者: xiaoNiuNew    时间: 2013-9-5 14:39:18

factory 发表于 2013-9-5 14:23
e.cellHtml = value * 1000
不要修改e.value,只修改单元格文本

drawcell里就是这么做的,就是编辑有问题。
我上传了图片您看看。
作者: factory    时间: 2013-9-5 14:49:21

xiaoNiuNew 发表于 2013-9-5 14:39
drawcell里就是这么做的,就是编辑有问题。
我上传了图片您看看。

你现在是想在输入的时候值是数据源的值,单元格显示的时候*100吗?
ondrawcell修改e.cellHtml 的话,就是这样的。文本值修改了,但是数据值不会改的,除非再修改下e.value




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2