我有一个 DOJO Datagrid 正在运行。它基于 itemFileWriteStore。
通过格式化程序功能,我添加了一个包含 OnClick-Function 的按钮
- 获取属性“work_id”(在商店中)
- 进行 Ajax-Call 以删除条目
- 从商店中删除并更新网格
这是代码:
//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