2012-10-30 77 views
2

我有一个DOJO Datagrid启动并运行。它基于itemFileWriteStore。DOJO Datagrid通过按钮删除行

通过格式化功能我添加包括的OnClick-功能的按钮来

  1. 获取属性“work_id”(这是在商店)
  2. 做一个Ajax调用删除进入
  3. 从商店删除并更新电网

下面的代码:

//BUTTON-FORMATTER 
    function buttonFormatterRemove(){ 
     var w = new Button({ 
      label: "Löschen", 
      iconClass: "dijitEditorIcon deleteIcon", 
      showLabel: false, 
      onClick: function() { 
        console.log(this); 
        if (confirm("Datensatz wirklich löschen?")){ 

         var item = grid.selection.getSelected(); 
         var work_id = grid.store.getValue(item[0], "work_id"); 
         //alert(work_id); 

         //FIRE REQUEST 
          request.post("<?php echo site_url('work/delete'); ?>/"+work_id, { 

           }).then(function(text){ 
            if(text == 1){ 
               console.log("Entry with ID"+work_id+" deleted!") 
               workStore.deleteItem(item[0]); 
               grid.startup(); 
            } else alert("Es ist ein Fehler aufgetreten"); 
           });  
        }   

      } 
     }); 
     w._destroyOnRemove=true; 
     return w; 
    } 

到目前为止这么好...它的作品!但只有当我点击数据网格之前。无论我点击的地方如何。

如果我刷新页面,直接点击该按钮,它抛出:

Uncaught Error: dojo.data.ItemFileWriteStore: Invalid item argument. 

有谁知道如何得到一个处理特定的行work_id?

预先感谢您! AFX

回答

相关问题