DOJO Datagrid を稼働させています。itemFileWriteStore に基づいています。
フォーマッタ関数を使用して、OnClick 関数を含むボタンを追加しました
- 属性「work_id」を取得します(ストアにあります)
- エントリを削除するために Ajax 呼び出しを行う
- ストアから削除してグリッドを更新する
コードは次のとおりです。
//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