ATK4 Codepad で例を確認してください。
http://agiletoolkit.org/codepad/gui/grid
編集: これは私のページの 1 つのスニペットです。多分あなたはそれが便利だと思うかもしれません。この背後にある考え方は、この IF ステートメント内で実際に JavaScript を生成し、JavaScript がブラウザに送り返され、別のリクエスト (既存のオブジェクトのリロード、新規作成、どこかにリダイレクトなど) を行うことができるというものです。
...
if($_GET['ticket']){
// Join this report with selected ticket
$this->grid->model->addToTicket($_GET['ticket']);
// Reload
$this->js(null,array(
$x->js()->reload(),
$this->js()->univ()->successMessage('Successfully saved')
))->execute();
}
...
$_GET['ticket'] を使用すると、「チケットに追加」ボタンをクリックしたグリッド内のレコードの ID を取得できます。$x は、フォーム、フィールド、タブ、その他のグリッドなど、このページの他のオブジェクトです。$this->grid->model を使用すると、このグリッドに関連付けられたモデルへの参照を取得できます。そのモデルでは、データベースで何かを行う addToTicket というカスタム アクション/メソッドが定義されています。
$this->js()->redirect() または $this->js()->location() などを使用して他のページにリダイレクトすることもできます。基本的には何でもできますが、これらすべてを生成する必要があります結果としての JavaScript、または次に何をすべきかをブラウザに指示します。
最後に ->execute() を追加することを忘れないでください! これにより、ページの解析が停止し、すぐに JS 応答が生成されます。