第2回 カスタムJavaScript機能特集:Forguncy Pro新機能詳説(4/7 ページ)

» 2015年03月30日 05時00分 公開
[かわさきしんじInsider.NET編集部]

テーブルのデータの更新と削除

 データの更新はForguncy.updateTableDataメソッドで、データの削除はForguncy.deleteTableDataメソッドで行う。以下に構文を示す。

// Forguncy.updateTableDataメソッド
Forguncy.updateTableData(
  tableName,
  primaryKey,
  newValue,
  successCallback,
  errorCallback
)

// Forguncy.deleteTableDataメソッド
Forguncy.deleteTableData(
  tableName,
  primaryKey,
  successCallback,
  errorCallback
)

Forguncy.updateTableDataメソッド(上)とForguncy.deleteTableDataメソッド(下)の構文

 データの追加ではプライマリキー(第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.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。