Webアプリケーション(tasklog)の作成(No.4)
今回はタスクの追加の予定でしたが、なかなか実装できないので途中経過を書いておきます。
行の追加や削除するサンプルもありますが、追加する場合に関係するプログラムが見当たらないため、そこは自分で考えて作らないといけないみたいです。
まずは、gridOptionのtoolbarContentにaddとdelを指定するとプラスとマイナスのボタンが表示されて、プラスのボタンをクリックすると行が追加されますが、Firebugのコンソールに二つのエラーが表示されます。エラーの場所はgt_grid_all.jsとjavascript:void(0); return false;なので、内部的に呼び出されているところでエラーが発生しているんだと思います。
まずは表に行を追加したときに呼び出されるコールバックを調べました。以下のコードを追加したところ、プラスのアイコンをクリックしたところ、Firebugのコンソールにinserted!と出力されたので、行を追加されたときに、このコールバックが呼び出されるようです。
taskGrid.beforeInsert = function (record) {
console.log("inserted!");
}
このコールバックのマニュアルの記述には、
Fired before: Changed data is to be posted to server side.
record: Object or Array. Record of the row added/appended by end user.
returns: Bool. Return false to prevent row from being posted to server side.
とあるので、サーバー・サイドにポストする仕掛けを組み込めそうな感じですが、どうすればいいのか、いまのところはわかっていません。