2012-08-22 9 views
9

Estoy usando Slickgrids con mucho éxito. He ajax edits todo funcionando, pero estoy tratando de agregar una pieza de funcionalidad;Cambiar datos de celdas slickgrid después de editar

A continuación se muestra mi código que me permite actualizar celdas, funciona como estaba previsto, pero quiero poder cambiar la celda después de haber sido editada con el valor devuelto de los datos json. Véase mi código de abajo - He puesto en las capitales en las que necesito un comando para actualizar la célula Editted con los nuevos datos devueltos

grid.onCellChange.subscribe(function(e, args) { 
        var dataString = "col="+grid.getColumns()[args.cell].name+"&row="+args.item.new_training_calendar_id+"&value="+data[args.row][grid.getColumns()[args.cell].field]; 

       $.ajax({ 
        type: "POST", 
        url: "mydomain/update_cell", 
        data: dataString, dataType: "json", 
       success: function(a) { 
         if(a.status != "ok") { 
          alert(a.msg); 
          undo(); 
          } else { 
          alert(a.msg); 
          **CHANGE_CELL_HERE TO (a.newdata);** 
          } 
        return false; 
       } }); }); 

Respuesta

14

Si está utilizando DataView en su cuadrícula, puede utilizar:

grid.invalidateRow(args.row); 
var row = dataView.getItem(args.row); 
row[grid.getColumns()[args.cell].field] = a.msg; 
dataView.updateItem(args.item.id, row); 
grid.render(); 

Si está utilizando una cuadrícula sencilla su lugar, puede utilizar:

grid.invalidateRow(args.row); 
data[args.row][grid.getColumns()[args.cell].field] = a.msg; 
grid.render(); 

espero que ayude!

Cuestiones relacionadas