Forguncy 10 オンラインヘルプ
アプリの拡張 / コーディングによるカスタマイズ / カスタムJavaScript / JavaScript API / リストビューに対する操作
このトピックで
    リストビューに対する操作
    このトピックで

    名前を指定して特定のリストビューにアクセスできます。リストビューの現在行(カレントレコード)の変更、リストビュー内の特定のセルの値の変更といった操作を提供しています。ここで使用しているリストビュー名やセル名は、リストビューの名前定義で指定したものになります。

    本記事で紹介している各クラスの詳細については、リファレンスヘルプ「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") + '」です。');
        })
    });