第2回 カスタムJavaScript機能:特集:Forguncy Pro新機能詳説(4/7 ページ)
今回は、簡易電話帳アプリを作成しながら、Forguncy Proで利用可能な「カスタムJavaScript」機能について見ていく。
テーブルのデータの更新と削除
データの更新はForguncy.updateTableDataメソッドで、データの削除はForguncy.deleteTableDataメソッドで行う。以下に構文を示す。
// Forguncy.updateTableDataメソッド
Forguncy.updateTableData(
tableName,
primaryKey,
newValue,
successCallback,
errorCallback
)
// Forguncy.deleteTableDataメソッド
Forguncy.deleteTableData(
tableName,
primaryKey,
successCallback,
errorCallback
)
データの追加ではプライマリキー(第2引数のprimaryKey)の指定は必要なかったが、この二つのメソッド(とこの後で紹介するgetTableDataメソッド)では、操作対象のレコードを指定するためにこれが必要になる。キーは「{ ID: id_value }」のようにJavaScriptオブジェクト形式で指定する。
その他の引数は特に説明する必要はないだろう。強いていうと、updateTableDataメソッドの第3引数に指定するnewValueでは、レコードの全てのフィールドを指定する必要がないことくらいだ。変更したいフィールドとその値だけをJavaScriptオブジェクト形式で指定してやればよい(ここでは、全てのフィールドを指定する)。
以上から、[更新]ボタンをクリックしたときに実行されるコードは以下のようになる。
var page = Forguncy.Page;
var name = page.getCell('textName').getValue();
var phone = page.getCell('textPhone').getValue();
var listview = page.getListView('listview');
var row = listview.getSelectedRowIndex();
Forguncy.updateTableData(
'table1',
{ ID: row },
{ name: name, phone: phone },
function() { listview.reload(); },
function(errmsg) { alert(errmsg); }
);
実際にはこのコードには問題があるが、これについては後述する。
ここでは、リストビューで選択状態にあるレコードをgetSelectedRowIndexメソッドで取得し、そのレコードに対応するデータの更新をテーブルに対して行っている。
また、[削除]ボタンをクリックしたときに実行されるコードは以下のようになる。
var listview = Forguncy.Page.getListView('listview');
Forguncy.deleteTableData(
'table1',
{ ID: listview.getSelectedRowIndex() },
function() { listview.reload(); }
);
ここではエラー時の処理を省略している。また、実際にはこのコードには問題があるが、これについては後述する。
これでデータの追加/更新/削除のコードは一応できた。次ページでは、これを実際に動かしてみよう。
Copyright© Digital Advantage Corp. All Rights Reserved.