Grails 2.0.3 バージョンの Grails プロジェクトでプラグイン JQGrid 3.8.0.1 を使用しています。
これ<jqgrid:grid>
には属性がありますonSelectRow
。リダイレクト構造をフォーム構造からウィンドウ構造に変換することを計画していました。この変換を行う理由は.gsp
、JQGrid コンポーネントを持つすべてのファイルが<form>
その<body>
領域にコンポーネントを持つわけではないためです。
これから:
<jq:resources/>
<jqui:resources/>
<jqgrid:resources/>
<jqgrid:grid
// other main attributes (i.e., url, colNames, colModel, etc.)
onSelectRow="function(id) {
document.<formname>.action = 'view/' + id;
document.<formname>.submit();
}"></jqgrid:grid>
// html body content of form
<form name="<formname>">
</form>
これに:
<jq:resources/>
<jqui:resources/>
<jqgrid:resources/>
<jqgrid:grid
// other main attributes (i.e., url, colNames, colModel, etc.)
onSelectRow ="function(id) {
window.location.href = ${createLink(action:'show', id:id)};
}"></jqgrid:grid>
jq
、jqui
、jqgrid
タグは、grails コマンドによってプロジェクトにインストールされたプラグインです。grails> install-plugin jquery jquery-ui jqgrid
問題は、新しいスクリプトが機能しないことです。新しい html ソース コードをチェックすると、onSelectRow
attributeの値が返されますwindow.location.href = /<Project Name>/<Controller>/show;
。問題は、新しいスクリプトで JQGrid を適切に実行するにはどうすればよいかということです。
注: 現在、Grails または
generate-all *
コマンドの scaffold 機能を使用しています。