v8
Forguncy Class ForguncyPage Forguncy API クラス

ForguncyPage クラス

ページオブジェクトを表します。

階層

  • ForguncyPage

プロパティ

AutoDisconnectTimeout

AutoDisconnectTimeout: number

本プロパティを使用することで、特定のページだけタイムアウト値を変更できます。タイムアウト値とは、ユーザーが一定期間Forguncyアプリケーションを操作しなかった場合に、Forguncyアプリケーションが自動切断され、同時接続数としてカウントされなくなる場合の時間です。

設定する数値の単位は分で、「0」を設定した場合タイムアウトによる切断は行われません。既定値は「0」です。

たとえば「30」を設定した場合、そのページ上でユーザーが30分以上操作を行わなければ、自動切断の対象となります。

使用例
// 現在のページのタイムアウト値を30分に設定する。
Forguncy.Page.AutoDisconnectTimeout = 30;

メソッド

bind

  • bind(eventType: string, data?: any, fn?: any, targetPage?: string): void
  • ページが持つイベントに対してイベントハンドラーを関連付けます。

    イベントへのデータの受け渡し

    イベントハンドラーにデータを受け渡すには、第2パラメーターに指定します。その場合、イベントハンドラーは第3パラメーターに指定します。 受け渡されたデータは、イベントハンドラーにおける第1パラメーターのdataプロパティから参照できます。
    使用例
    // 「ページ1」と「ページ2」の2つのページがある場合の例を示します。
    var loadedEvent = Forguncy.PageEvents.Loaded;
    // 変数を定義する。
    var text = "ready";
    
    // 現在のページは「ページ1」です。ページの準備が整うと、ダイアログボックス上に現在のページ名である「ページ1」が表示されます。
    Forguncy.Page.bind("loaded", function (arg1, arg2) {
        alert(arg2.pageName);
    });
    
    // パラメーターのページ名に明示的に「ページ1」を指定します。ページの準備が整うと、ダイアログボックス上に指定したページの名称「ページ1」が表示されます。
    Forguncy.Page.bind("loaded", function (arg1, arg2) {
        alert(arg2.pageName);
    }, "ページ1");
    
    // 「ページ1」の準備ができると、ダイアログボックス上にパラメーターのデータとして渡された文字列「ready」が表示されます。
    var text = "ready";
    Forguncy.Page.bind("loaded", text, function (arg1, arg2) {
        alert(arg1.data);
    }, "Page1");
    
    // 「ページ1」、もしくは「ページ2」のいずれかのページの準備ができると、ダイアログボックス上にそのページ名が表示されます。
    Forguncy.Page.bind("loaded", function (arg1, arg2) {
        alert(arg2.pageName);
    }, "*");

    引数

    • eventType: string

      関連付けするイベントを表す文字列。ページでサポートされているイベントについては、PageEventsクラスを参照してください。

    • オプション data: any

      イベントハンドラーに渡すデータ。関数では第1パラメーターのdataプロパティから参照します。本パラメーターは省略可能です。

    • オプション fn: any

      イベント発生時に実行される関数。

    • オプション targetPage: string

      ページ名。すべてのページのイベントをバインドする場合は、「*」を使用します。 省略すると、現在のページにバインドされます。

    戻り値 void

getCell

  • getCell(name: string, includeSubPage?: boolean): Cell
  • 名前を指定してセル(Cellのインスタンス)を取得します。

    使用例
    // 本サンプルコードでは、セルインスタンスを取得し、getCellメソッドによってセルの値を設定します。
    // 現在のページを取得する。
    var page = Forguncy.Page;
    // セルオブジェクトを取得する。
    var cell = page.getCell("myCell");
    // セルの値を設定する。
    cell.setValue("Forguncy");

    引数

    • name: string

      取得したいセルの名前。

    • オプション includeSubPage: boolean

      コンテナーやタブコントロールのサブページ内を検索するかどうかを指定します。 true:検索します。既定値です。 false:検索しません。

    戻り値 Cell

getCellArray

  • getCellArray(name: string, includeSubPage?: boolean): Cell[]
  • 名前を指定してセル範囲(Cell[]のインスタンス)を取得します。

    使用例
    // 現在のページを取得する。
    var page = Forguncy.Page;
    // セルオブジェクトを取得する。
    var cell = page.getCellArray("myCell");
    // セルのインスタンス数を取得する。
    var len = cell.length;
    // セルのインスタンス数をダイアログボックスに表示する。
    alert(len);

    引数

    • name: string

      取得したいセル範囲の名前。

    • オプション includeSubPage: boolean

      コンテナーやタブコントロールのサブページ内を検索するかどうかを指定します。 true:検索します。既定値です。 false:検索しません。

    戻り値 Cell []

getCellByLocation

  • セルの位置を指定してセル(Cellのインスタンス)を取得します。

    使用例
    // 本サンプルコードでは、セルオブジェクトを取得し、getCellByLocationメソッドによってセルの背景色を設定します。
    // 現在のページを取得する。
    var page = Forguncy.Page;
    // セルオブジェクトを取得する。
    var cell = page.getCellByLocation({
    Row: 2,
    Column: 3,
    PageName: "ページ1"
    });
    // セルの背景色を赤に設定します。
    var setColor = cell.setBackColor("red");

    引数

    戻り値 Cell

getContainerCells

  • すべてのコンテナーやタブコントロールのセル(Cell[]のインスタンス)を取得します。

    使用例
    var containerCells = Forguncy.Page.getContainerCells();
    var subPage = containerCells[0].getContentPage();

    引数

    • オプション includeSubPage: boolean

      コンテナーやタブコントロールのサブページ内を検索するかどうかを指定します。 true:検索します。既定値です。 false:検索しません。

    戻り値 ContainerCellBase []

getListView

  • getListView(name: string, includeSubPage?: boolean): ListView
  • 名前を指定してリストビュー(ListViewのインスタンス)を取得します。

    使用例
    // 本サンプルコードでは、名前を指定してページ内のリストビューを取得します。
    // 現在のページを取得する。
    var page = Forguncy.Page;
    // リストビューオブジェクトを取得する。
    var listview = page.getListView("リストビュー1");
    // リストビューの名前を取得する。
    var name = listview.getName();
    // リストビューの名前をダイアログボックスに表示する。
    alert(name);

    引数

    • name: string

      取得したいリストビューの名前。

    • オプション includeSubPage: boolean

      コンテナーやタブコントロールのサブページ内を検索するかどうかを指定します。 true:検索します。デフォルトです。 false:検索しません。

    戻り値 ListView

getListViews

  • getListViews(includeSubPage?: boolean): ListView[]
  • ページ内のすべてのリストビューを取得します。

    使用例
    // 本サンプルコードでは、ページ内のすべてのリストビューを取得します。
    // 現在のページを取得する。
    var page = Forguncy.Page;
    // ページ内のすべてのリストビューを取得する。
    var listview = page.getListViews();
    // リストビューのインスタンス数を取得する。
    var len = listview.length;
    // リストビューのインスタンス数をダイアログボックスに表示する。
    alert(len);

    引数

    • オプション includeSubPage: boolean

      コンテナーやタブコントロールのSubPage内を検索するかどうかを指定します。 true:検索します。デフォルトです。 false:検索しません。

    戻り値 ListView []

getMasterPageName

  • getMasterPageName(): string
  • ページのマスターページ名を取得します。ページにマスターページが設定されていない場合は「null」が返ります。

    使用例
    // 本サンプルコードでは、getMasterPageNameメソッドを使用して現在のページのマスターページの名前を取得します。
    // 現在のページを取得する。
    var page = Forguncy.Page;
    // 現在のページのマスターページ名を取得する。
    var masterPageName = page.getMasterPageName();
    // マスターページ名をダイアログボックスに表示する。
    alert(masterPageName);

    戻り値 string

getPageName

  • getPageName(): string
  • 現在のページ名を取得します。

    使用例
    // 本サンプルコードでは、getPageNameメソッドを使用して現在のページ名を取得します。
    // 現在のページを取得する。
    var page = Forguncy.Page;
    // 現在のページ名を取得する。
    var pageName = page.getPageName();
    // 現在のページ名をダイアログボックスに表示する。
    alert(pageName);

    戻り値 string

getSubPageInfoByPageID

  • getSubPageInfoByPageID(pageID: string): SubPage
  • ページのIDからサブページ(SubPageのインスタンス)を取得します。戻り値はContentContainerCell.getContentPageメソッドやtabControlCell.getTabPageメソッドの戻り値と同様です。 アプリケーションの実行時には、各親ページ、サブページは一意なIDを持っています。 CellTypeBase.getFormulaCalcContextメソッド、およびCommandBase.getFormulaCalcContextメソッドを使用してページのIDを取得できます。

    引数

    • pageID: string

      ページのID

    戻り値 SubPage

getUserInfo

  • getUserNameでは、ユーザー名のみを取得しますが、getUserInfoではロールなどのユーザーの詳細情報を取得できます。

    使用例
    // 本サンプルコードでは、getUserInfoメソッドを使用して現在のログインユーザーの詳細を取得します。
    // 現在のページを取得する。
    var page = Forguncy.Page;
    // 現在ログインしているユーザーの詳細を取得する。
    var userInfo = page.getUserInfo();
    // 現在ログインしているユーザーの詳細をダイアログボックスに表示する。
    alert(JSON.stringify(userInfo, null, " "));
    
    // 現在ログインしているユーザーのユーザー名を取得する。
    var name = userInfo.UserName;
    // 現在ログインしているユーザーのロールを取得する。
    var role = userInfo.Role;
    // 現在ログインしているユーザーの氏名を取得する。
    var fullName = userInfo.FullName;

    戻り値 UserInfo

getUserName

  • getUserName(): string
  • ログイン中のユーザー名を取得します。ログインしていない場合には空文字が返されます。

    使用例
    // 本サンプルコードでは、getUserNameメソッドを使用してユーザー名を取得します。
    // 現在のページを取得する。
    var page = Forguncy.Page;
    // 現在ログインしているユーザーのユーザー名を取得する。
    var userName = page.getUserName();
    // 現在ログインしているユーザーのユーザー名をダイアログボックスに表示する。
    alert(userName);

    戻り値 string

ready

  • ready(fn: Function): void
  • ページの準備ができた時点で、指定したコールバック関数を実行します。

    使用例
    // 本サンプルコードでは、readyメソッドを使用し、コールバック関数内で現在ログインしているユーザーのユーザー名を取得します。
    // 現在のページを取得する。
    var page = Forguncy.Page;
    // readyメソッドのコールバック関数にページ処理を記述する。
    page.ready(function () {
            // ボタン型セルのクリック時のイベントをバインドする。
            page.getCell("button").bind("click", function () {
                    // 現在ログインしているユーザーのユーザー名をダイアログボックスに表示する。
                    alert(page.getUserName());
            })
    });

    引数

    • fn: Function

      ページ読み込み完了時に実行するコールバック関数。

    戻り値 void

recalc

  • recalc(): void
  • ページ内に設定されているすべての数式を再計算させます。

    使用例
    // 本サンプルコードでは、recalcメソッドを使用して、ページ上のすべての数式を強制的に再計算させます。
    // 現在のページを取得する。
    var page = Forguncy.Page;
    // ページ上のすべての数式を強制的に再計算する。
    page.recalc();

    戻り値 void

reloadBindingData

  • reloadBindingData(tableName?: string): void
  • 現在のページで使用されているテーブルとビューからデータを再読み込みします。

    使用例
    // 本サンプルコードでは、reloadBindingDataメソッドを使用してデータベースからデータを再読み込みします。
    // 現在のページを取得する。
    var page = Forguncy.Page;
    // データベースからデータを再読み込みする。
    page.reloadBindingData("テーブル1");

    引数

    • オプション tableName: string

      テーブル名。このパラメーターを省略すると、すべてのテーブルのデータが再読み込みされます。

    戻り値 void

resumeCalc

  • resumeCalc(): void
  • ページ内に設定されているすべての数式の計算を再開します。suspendCalcメソッドで数式の計算を中止している場合に、このメソッドを実行して数式の計算を再開させます。

    使用例
    // 本サンプルコードでは、resumeCalcメソッドを使用して、ページ上のすべての数式の計算を再開します。
    // 現在のページを取得する。
    var page = Forguncy.Page;
    // ページ上の数式の計算を再開する。
    page.resumeCalc();

    戻り値 void

setCurrentRow

  • カレントレコードを設定します。たとえば、テーブル1のカレントレコードを1行目に設定することで、ページ上でテーブル1にデータ連結している個所に1行目のデータが表示されます。

    使用例
    // 本サンプルコードでは、パラメーターCurrentRowInfoParamを指定してカレントレコードを設定します。
    // 現在のページを取得する。
    var page = Forguncy.Page;
    // カレントレコードを設定する。
    page.setCurrentRow(
    {
            // カレントレコードを設定するテーブル名。
            TableName: " テーブル1",
            // カレントレコードを特定するクエリー条件。
            PrimaryKey: {
                ID: 1
            }
    });
    
    // 本サンプルコードは、主にプラグイン開発で使用されるパラメーターCurrentRowInfoPluginParamを指定する方法を示します。たとえば、プラグインコマンドSetCurrentRowCommandの一部として次のコードが実装されます。
    SetCurrentRowCommand.prototype.execute = function () {
            Forguncy.Page.setCurrentRow({
                    QueryCondition: this.CommandParam.CurrentRowInfo,
                    FormulaCalcContext: this.getFormulaCalcContext()
            });
    }

    引数

    戻り値 void

suspendCalc

  • suspendCalc(): void
  • ページ内に設定されているすべての数式の計算を中止します。このメソッドを実行するとresumeCalcメソッドを実行するまでは、数式の計算は行われません。

    使用例
    // 本サンプルコードでは、suspendCalcメソッドを使用して、ページ上のすべての数式の計算を一時的に停止します。
    // 現在のページを取得する。
    var page = Forguncy.Page;
    // ページ上の数式の計算を一時停止する。
    page.suspendCalc();

    戻り値 void

unbind

  • unbind(eventType: any, fn?: Function, targetPage?: string): void
  • ページから指定したイベントハンドラの関連付けを解除します。第2パラメーターを省略した場合、指定イベントに関連付けされたすべてのイベントハンドラの関連付けが解除されます。

    使用例
    // 本サンプルコードでは、unbindメソッドを使用してページイベントの関連付けを解除する方法をいくつか示します。
    // 「ページ1」と「ページ2」の2つのページがある場合の例を示します。現在のページは「ページ1」です。
    var eventHandler = function (arg1, arg2) {
        alert(arg2.pageName);
    };
    // イベントハンドラーの関連付けを行う。
    Forguncy.Page.bind("Loaded", eventHandler);
    
    // 対象ページ名を指定して、そのページにおける特定のイベントハンドラーの関連付けを解除する。
    Forguncy.Page.unbind("Loaded", eventHandler, "ページ1");
    
    // 現在のページにおける特定のイベントハンドラーの関連付けを解除する。
    Forguncy.Page.unbind("Loaded", eventHandler);
    
    // 現在のページにおいて指定したイベントに対するすべてのイベントハンドラーの関連付けを解除する。
    Forguncy.Page.unbind("Loaded");
    
    // すべてのページにおいて指定したイベントに対する特定のイベントハンドラーの関連付けを解除する。
    Forguncy.Page.unbind("Loaded", eventHandler, "*");

    引数

    • eventType: any

      関連付けを削除するイベントを表す文字列。ページでサポートされているイベントについては、PageEventsクラスを参照してください。

    • オプション fn: Function

      関連付けを解除するイベントハンドラーの関数。 本パラメーターを省略した場合、ページ上のすべてのそのイベントの種類のイベントハンドラーの関連付けを解除します。本パラメーターは省略可能です。

    • オプション targetPage: string

      対象ページ名。すべてのページのイベントに対する関連付けを解除する場合は、「*」を指定します。省略した場合、現在のページに対してイベントに対する関連付け解除を行います。本パラメーターは省略可能です。

    戻り値 void

unbindAll

  • unbindAll(targetPage?: string): void
  • ページ上のすべてのイベントハンドラーの関連付けを解除します。

    使用例
    // 本サンプルコードでは、unbindメソッドを使用してページイベントの関連付けを解除する方法をいくつか示します。
    // 「ページ1」と「ページ2」の2つのページがある場合の例を示します。現在のページは「ページ1」です。
    var eventHandler = function (arg1, arg2) {
        alert(arg2.pageName);
    };
    // イベントハンドラーの関連付けを行う。
    Forguncy.Page.bind("Loaded", eventHandler);
    
    // 現在のページからすべてのイベントハンドラーの関連付けを解除する。
    Forguncy.Page.unbindAll();
    
    // 指定したページにおけるすべてのイベントハンドラーの関連付けを解除する。
    Forguncy.Page.unbindAll("ページ1");
    
    // 全ページにおけるすべてのイベントハンドラーの関連付けを解除する。
    Forguncy.Page.unbindAll("*");

    引数

    • オプション targetPage: string

      対象ページ名。すべてのページのイベントに対する関連付けを解除する場合は、「*」を指定します。省略した場合、現在のページに対してイベントに対する関連付け解除を行います。

    戻り値 void