jQuery MiniUI

标题: 如何给DataGrid里单元格的editor设置初始值 [打印本页]

作者: tomsen    时间: 2017-7-6 12:33:15     标题: 如何给DataGrid里单元格的editor设置初始值

如何给DataGrid里单元格的editor设置初始值为其它列的值,而且还能修改editor里的值
[attach]9463[/attach]
例如这里的批复数量,是可修改的。现在想设置在显示时,editor的里的值为申请数量

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


作者: dforce    时间: 2017-7-6 13:22:30

在oncellbeginedit事件里处理,
grid.on("cellbeginedit",function(e){
     if(e.field=="pfsl"){
        e.value=e.record.sqsl;
     }
})
作者: tomsen    时间: 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

作者: dforce    时间: 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. })
复制代码





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