2012-08-22 26 views
9

Başarı ile Slickgrids kullanıyorum. Tüm çalışmam için ajax düzenlemelerim var - ama bir parça işlevsellik eklemeye çalışıyorum; Aşağıda, hücrelerimi güncellememi sağlayan kodum - amaçlandığı gibi çalışır - ancak json verisinden döndürülen değerle değiştirildikten sonra hücreyi değiştirebilmek istiyorum. Aşağıdaki kodumu bakın - Görüyorum ki ızgarada DataView kullanıyorsanız yeni döndürülen verilerinDüzenleme sonrasında slickgrid hücre verilerini değiştir

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; 
       } }); }); 

cevap

14

ile editted hücreyi güncellemek için bir komut ihtiyaç başkentlerinde koyduk, şunları kullanabilirsiniz:

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(); 
bunun yerine düz ızgara kullanıyorsanız

, şunları kullanabilirsiniz:

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

Umut yardımcı olur!

İlgili konular