名前を指定して特定のリストビューにアクセスできます。リストビューの現在行(カレントレコード)の変更、リストビュー内の特定のセルの値の変更といった操作を提供しています。ここで使用しているリストビュー名やセル名は、リストビューの名前定義で指定したものになります。
本記事で紹介している各クラスの詳細については、リファレンスヘルプ「Forguncy JavaScript API」を参照してください。
リストビュー内の特定のセルの値の取得
ListViewのgetValueメソッドを使用することで、リストビュー内の特定のセルの値の取得できます。
以下のサンプルコードの例では「button1」というボタン型セルをクリックした際に、「リストビュー1」という名前のリストビューの1行目にある「column1」という列名の値がアラートダイアログに表示されます。行番号は0から始まるため、getValueメソッドの第一引数が0となっていることに注意してください。また、第2パラメーターにはテーブルのフィールド名ではなく、リストビューに設定された列名を指定することにも注意してください。
このコードをそのままjsファイルとして利用する場合、「ページ設定」タブの「カスタムJavaScript」でファイルとして設定することで動作します。あるいは、「ページ設定」タブの「ページロード時のコマンド」から「JavaScriptのコードの実行」を選んでコードを記載する場合は、コードの「p.ready(function () {」と「})」を削除してください。これは、このコマンド自体がページの準備ができた時点で発生するため、ページの準備ができたかどうかを確認する「p.ready」が不要になるためです。
JavaScript |
コードのコピー |
---|---|
var p = Forguncy.Page; p.ready(function () { p.getCell("button1").bind("click", function () { var mylist = p.getListView("リストビュー1"); alert(mylist.getValue(0, "column1")); }) }); |
リストビュー内現在行(カレントレコード)セルの値取得
ListViewのgetSelectedRowIndexメソッドを使用することで、現在行(カレントレコード)の行番号を取得できます。
以下のサンプルコードの例では、リストビューのgetValueメソッドの第一引数にgetSelectedRowIndexメソッドを使用して取得した値を渡すことで、現在行(カレントレコード)を移動し「cell1」という名前のセルの値を変更します。
このコードをそのままjsファイルとして利用する場合、「ページ設定」タブの「カスタムJavaScript」でファイルとして設定することで動作します。あるいは、「ページ設定」タブの「ページロード時のコマンド」から「JavaScriptのコードの実行」を選んでコードを記載する場合は、コードの「p.ready(function () {」と「})」を削除してください。これは、このコマンド自体がページの準備ができた時点で発生するため、ページの準備ができたかどうかを確認する「p.ready」が不要になるためです。
JavaScript |
コードのコピー |
---|---|
var p = Forguncy.Page; p.ready(function () { var mylist = p.getListView("リストビュー1"); mylist.bind("selectionchanged", function () { p.getCell("cell1").setValue('現在選択されているのは、「' + mylist.getValue(mylist.getSelectedRowIndex(), "column1") + '」です。'); }) }); |