データグリッドにあるボタンに関数イベントを追加する際に問題があります。
グリッドのデータは json-rest-store によってロードされ、ボタン列もそれとともにロードされます。
これを追加する必要があるときはいつでも:
Spring.addDecoration(new Spring.AjaxEventDecoration({elementId: button.id, event:'onclick', params: { _eventId: "details", fragments: "content" }}));
ロードの準備がまだ整っていないため、ID が存在しないと表示されます。
私は次のように defered を使用しています:
function formatDetails(fields, rowIdx, cell){
var buttonEditLabel = dojo.byId('buttonEdit').innerHTML;
var buttonEdit = new dijit.form.Button({
id: rowIdx,
type : "submit",
label: buttonEditLabel,
showLabel: true
});
dojo.style(buttonEdit.domNode, "width", "95px");
dojo.style(buttonEdit.domNode, "textAlign", "center");
dojo.style(buttonEdit.domNode.firstChild, "display", "block");
var id;
var deferred = new Deferred(function(reason){
id = dojo.byId(buttonEdit.id);
});
deferred.progress(update);
deferred.resolve(value);
deferred.then(function(value){
Spring.addDecoration(new Spring.AjaxEventDecoration({elementId: buttonEdit.id, event:'onclick', params: { _eventId: "details", fragments: "content" }}));
}, function(err){
}, function(update){
});
return buttonEdit;
}
私は
何が間違っているのですか?