0

我有一个包含许多列的表单,一个是一个复选框,它发送两个表单提交单击复选框本身并导致数据库锁定。

index.jsp:

var gridLayout = [
  ...
  {name:"Recurring", field:"isRecurring", type: dojox.grid.cells.Bool, width: "50px",editable:true}
  ...
]

var grid = new dojox.grid.DataGrid({
  id: 'grid',
  store: myStore ,
  structure: gridLayout
});

dojo.connect(grid, 'onApplyCellEdit', function (a,index,c) { submit(index) } );

有没有替代“onApplyCellEdit”的方法?

4

2 回答 2

1

今天我遇到了同样的问题。

道场官方回应:

DojoX Grid 和 EnhancedGrid 已弃用,取而代之的是 dgrid 和 gridx。您应该升级您的代码以使用这两个网格之一。不过,我们将考虑对旧的 DojoX Grid 代码进行修补。

有关解决方法,请参阅。我还没试过。

于 2013-10-09T09:26:50.433 回答
1

user1189762 说的是真的,但我认为还有另一种方法。

您可以在布局中使用格式化程序

      var layout = [[
                        { 'name': 'Column 1', 'field': 'id', hidden: true },
                        { 'name': 'Name', 'field': 'name', 'width': '200px' },
//This is the formatter for the Checkboix attribute so it can be in the middle in the start or wherever you need it
                        { 'name': 'Delete Mapping', 'field': '_item', 'width': '175px', formatter: checkBoxFormatter },
                        { 'name': 'Note', 'field': 'note', hidden: true },
                        { 'name': 'mappings', 'field': 'mappingelements', hidden: true }
                    ]];






 function checkBoxFormatter(value, rowIndex)
    {
    var checkBox = new CheckBox({            
                checked: false,
                onChange: function(b){ 
//The value is whatever you want the two parameter value and rowindex will get the row value or the row index
                  submit(value)
                             }
            });
    } 

这应该工作。

于 2013-10-09T16:00:20.050 回答