jQuery MiniUI

 找回密码
 立即注册
查看: 4257|回复: 3
打印 上一主题 下一主题

如何给DataGrid里单元格的editor设置初始值 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2017-7-6 12:33:15 |只看该作者 |倒序浏览
如何给DataGrid里单元格的editor设置初始值为其它列的值,而且还能修改editor里的值

例如这里的批复数量,是可修改的。现在想设置在显示时,editor的里的值为申请数量

在drawcell事件里,设置当field=='pfsl'时 设置record.pfsl=record.sqsl ,编辑框里的值时0
如果设置当field=='sqsl'时,使用 record.pfsl=record.sqsl 是可以设置编辑框的值为申请数量,但编辑时,值不变,总是5
那么该怎么设置编辑框里的值等于申请数量的值呢?

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 8Rank: 8

沙发
发表于 2017-7-6 13:22:30 |只看该作者
在oncellbeginedit事件里处理,
grid.on("cellbeginedit",function(e){
     if(e.field=="pfsl"){
        e.value=e.record.sqsl;
     }
})

Rank: 2

板凳
发表于 2017-7-6 13:53:58 |只看该作者
本帖最后由 tomsen 于 2017-7-6 13:58 编辑
dforce 发表于 2017-7-6 13:22
在oncellbeginedit事件里处理,
grid.on("cellbeginedit",function(e){
     if(e.field=="pfsl"){

用oncellbeginedit可以,但都必须点一下编辑框

在grid加载时,编辑框既处于激活,用于用户编辑批复数量,因为有非常多的行,所以想在grid加载时,能设置默认的编辑框的值为sqsl

Rank: 8Rank: 8

地板
发表于 2017-7-6 14:45:54 |只看该作者
tomsen 发表于 2017-7-6 13:53
用oncellbeginedit可以,但都必须点一下编辑框

在grid加载时,编辑框既处于激活,用于用户编辑批复数量, ...

那可以这样,加载完毕遍历主动更新一下
  1. grid.on("load",function(e){
  2.    var rows=grid.getData();
  3.    for(var i=0,l=rows.length;i<l;i++){
  4.            var row=rows[i];
  5.            grid.updateRow(row,{pfsl:row.sqsl)
  6.     }
  7. })
复制代码

Archiver|普加软件

GMT+8, 2025-2-24 05:25 , Processed in 1.047770 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部