ページの先頭行へ戻る
WSMGR for Web V7.2 使用手引書L10

23.4.5 viewオブジェクト

ユーザスクリプト機能で表示するテーブルデータの取得やユーザHTML画面を使用するためのオブジェクトです。
テーブルデータとは、2次元で表される配列を扱うデータ形式です。配列の各要素はstring型の文字列です。

プロパティ名

機能

初期値

Table

エミュレータ画面に表示するテーブルデータ

Arrayオブジェクトの初期値

注意

ビューオブジェクトが保持可能なテーブルは1つです。

メソッド名

機能

GetTableData

テーブルデータの取得

AddTable

Tableプロパティへのデータ追加

ClearTable

Tableプロパティの初期化

ShowTableData

テーブルデータの取得と表示

CloseTableData

テーブルデータを閉じる

OpenUserScreen

ユーザHTML画面の表示

CloseUserScreen

ユーザHTML画面の消去

■GetTableData

テーブルデータの取得

WSMGR for Webサーバに登録したリソースファイルの定義から、文字列の2次元配列データを取得します。取得した2次元配列の内容は、表形式のテーブルデータとして格納されます。テーブルデータは1番目の配列要素がテーブル上の行、2番目の配列要素がテーブル上の列とみなされます。


●呼び出し形式

GetTableData(ConnectionName, SqlKey, HasHeader)

●パラメータ

パラメータ

説明

省略時の初期値

ConnectionName

「dataProvider.config」に設定したデータ接続文字列名を指定

省略できません

SqlKey

「WsmgrDataAccess.ini」のSQLセクションに登録したキー名を指定

省略できません

HasHeader

TRUE:1行目をヘッダ行とみなす
FALSE:ヘッダ行を設定しない

TRUE


●リソースファイル

本メソッドにより参照するリソースファイルは次の固定名のファイルです。ファイルごとに用途や形式が異なります。

ファイル名

用途

ファイルの形式

dataProvider.config

.NET Frameworkのデータプロバイダにより、RDB、またはCSVファイルへ接続するためのデータ接続文字列名を指定

XMLファイル形式

WsmgrDataAccess.ini

「dataProvider.config」で指定するデータストアよりデータを取得するためのSQLを記述

iniファイル形式

WSMGR for Webをインストールすると、下記フォルダにリソースファイルの雛型がインストールされます。リソースファイルを使用する場合はこのファイルを編集してください。

リソースファイルの場所:<WSMGR for Webインストールフォルダ>\wwwroot\userconfig


●リターン値

関数呼び出しが成功した場合は取得したテーブルデータを返します。エラーが発生した場合nullを返します。エラーの詳細は、GetErrorメソッドにより取得できます。

HasHeaderの指定により1行目に取得されるデータが異なります。すでにTableプロパティにヘッダを設定している場合はヘッダ行を除いたデータを取得し、AddTableメソッドを用いてTableプロパティに追加することが可能です。

テーブル上の行

値の形式

説明

1行目

[0][1~n]

AddHeaderの指定にTRUEを指定した場合はヘッダとしてDBのカラム名を取得、FALSEを指定した場合は指定したキーの設定値を取得

2行目以降

[n][1~n]

指定したキーの設定値

キー名と値の文字列は自由に指定できます。
フォーマットは次のとおりです。

設定例)

<add name="MySqlServer"
     conectionString="server=myserver;database=Customers;uid=Use1r;pwd=user1-pwd1"
     providerName="System.Data.SqlClient"
/>

設定例)

SQLキー1=select * from Customers
SQLキー2=select * from Goods

●JavaScriptを用いて記述した例

// FieldオブジェクトのSetAssist関数でアシスト属性に変更したフィールドに表示する
function MyAssistFunction(inputText) {

     var Dspemu = new WsmgrDspemu();  // インスタンスの作成

     // 入力候補を設定
     var data = Dspemu.view.GetTableData("MSAccess","SQL1",false);
     var array = new Array();

     for (var i = 0; i < data.length; i++) {  // 取得したアシストデータを文字列の配列に変換

          if (data[i][0].toString().indexOf(inputText) != -1)
               array.push(data[i][0].toString());
     }
     return array;
} 

■AddTable

Tableプロパティへのデータ追加

パラメータにより指定したテーブルデータをTableプロパティに追加します。すでに設定されているデータがある場合は、追加するデータでテーブルデータを拡張します。


●呼び出し形式

AddTable(tableData)

●パラメータ

パラメータ

説明

省略時の初期値

tableData

テーブルデータとして追加する文字列の2次元配列を指定

省略できません


●リターン値

関数の呼び出しに成功するとTRUEを返します。テーブルの追加に失敗した場合はFALSEを返します。


●JavaScriptを用いて記述した例

var Dspemu = new WsmgrDspemu();  // インスタンスの作成

var table = Dspemu.screen.ToTable(490, 1510);  // 矩形範囲のテーブルデータを取得
Dspemu.view.AddTable(table);      // テーブルデータをTableプロパティへ追加

■ClearTable

Tableプロパティの初期化

Tableプロパティに設定されたデータを消去します。


●呼び出し形式

ClearTable()

●パラメータ

ありません


●リターン値

関数の呼び出しに成功するとTRUEを返します。エラーの場合はFALSEを返します。


●JavaScriptを用いて記述した例

var Dspemu = new WsmgrDspemu();  // インスタンスの作成

Dspemu.view.ClearTable();  // Tableプロパティを初期化

■ShowTableData

テーブルデータの取得と表示

Tableプロパティのテーブルデータを取得し、エミュレータ画面上の指定位置にテーブルとして表示します。事前にAddTableメソッドを使用してTableプロパティにデータを設定しておく必要があります。


●呼び出し形式

ShowTableData(Row1, Col1, Row2, Col2, hasHeader)

●パラメータ

パラメータ

説明

省略時の初期値

Row1

データを表示するエミュレータ画面上の開始行を指定(1~24、または-1)
-1を指定した場合はブラウザの上端を開始位置とします

省略できません

Col1

データを表示するエミュレータ画面上の開始桁を指定(1~80、または-1)
-1を指定した場合はブラウザの左端を開始位置とします

Row2

データを表示するエミュレータ画面上の終了行を指定(1~24、または-1)
-1を指定した場合はブラウザの下端を終了位置とします

省略できません

Col2

データを表示するエミュレータ画面上の終了桁を指定(1~80、または-1)
-1を指定した場合はブラウザの右端を終了位置とします

hasHeader

TRUE:テーブルデータの1行目をヘッダとする
FALSE:テーブルデータの1行目をヘッダとしない

省略できません


●リターン値

関数の呼び出しに成功するとTRUEを返します。tableプロパティにデータが設定されていない、またはパラメータエラーの場合はFALSEを返します。


●JavaScriptを用いて記述した例

var Dspemu = new WsmgrDspemu();  // インスタンスの作成
var table = Dspemu.screen.ToTable(490, 1510);  // 矩形範囲のテーブルデータを取得
Dspemu.view.AddTable(table);      // テーブルデータをTableプロパティへ追加
Dspemu.view.ShowTableData(
     5,        // テーブルを表示する開始行に5行目を指定
     -1,       // テーブルを表示する開始桁にブラウザの左端を指定
     20,       // テーブルを表示する終了行に20行目を指定
     -1,       // テーブルを表示する終了桁にブラウザの右端を指定
     true);                    // テーブルの1行目をヘッダ行として指定

参考

テーブルの表示はエミュレータ画面の更新、またはホストとの通信が切れた場合に非表示となります。

注意

テーブルデータはエミュレータ画面上の表形式のデータに重ねて表示します。このため、テーブルの大きさが小さいとエミュレータ画面上の表の罫線がテーブルからはみ出してしまう場合があります。この場合、本メソッドで指定するテーブル開始桁と終了桁を1桁ずつ広げて指定してください。また、同時にscreenオブジェクトのToTableメソッドで指定する開始位置アドレスと終了位置アドレスも同様に1桁ずつ広げる必要があります。

■CloseTableData

テーブルデータを閉じる

ShowTableDataでエミュレータ画面上に表示したテーブルデータを閉じます。


●呼び出し形式

CloseTableData()

●パラメータ

ありません


●リターン値

関数の呼び出しに成功するとTRUEを返します。エラーの場合はFALSEを返します。


●JavaScriptを用いて記述した例

var Dspemu = new WsmgrDspemu();  // インスタンスの作成

Dspemu.view.CloseTableData(); // テーブルデータを閉じる

■OpenUserScreen

ユーザHTMLページの表示

エミュレータ画面を非表示にしてユーザが作成したHTMLページを表示します。
ユーザHTMLページは、エミュレータ画面の更新、または、CloseUserScreenメソッドを呼び出すまでの間、表示されます。


●呼び出し形式

OpenUserScreen(ScreenName)

●パラメータ

パラメータ

説明

省略時の初期値

ScreenName

表示するユーザHTMLページへのパスを指定
(絶対パス、または相対パス)

省略できません


●リターン値

関数の呼び出しに成功するとTRUEを返します。エラーの場合はFALSEを返します。


●JavaScriptを用いて記述した例

var Dspemu = new WsmgrDspemu();  // インスタンスの作成

Dspemu.view.OpenUserScreen("UserScreen.html"); // ユーザHTMLページを幅100%、高さ100%で表示

注意

ScreenNameパラメータに指定するユーザHTMLページはWSMGR for Webサーバと同じドメインに配置してください。ドメインが異なる場合、ユーザHTMLページからHTMLスクリプトを使用してエミュレータを操作することができません。

■CloseUserScreen

ユーザHTMLページの消去

表示中のユーザが作成したHTMLページを閉じ、エミュレータ画面を表示します。


●呼び出し形式

CloseUserScreen()

●パラメータ

ありません


●リターン値

関数の呼び出しに成功するとTRUEを返します。エラーの場合はFALSEを返します。


●JavaScriptを用いて記述した例

var Dspemu = new WsmgrDspemu();  // インスタンスの作成

Dspemu.view.CloseUserScreen(); // ユーザHTMLページを閉じる

参考

エミュレータ画面に表示するテーブルデータは、CSSファイルを使用してユーザスクリプトから指定することで、テーブルのスタイルをカスタマイズすることができます。

CSSファイルへ定義するテーブルのカスタマイズ用のクラスは下記を使用してください。

クラス名

説明

navigation-table

テーブルの要素すべてに指定されるクラスです。

navigation-table-header-row

テーブルの1行目をヘッダ行とした場合に、ヘッダ行に指定されるクラスです。

navigation-table-header-cell

テーブルの1行目をヘッダ行とした場合に、ヘッダ行の各項目(セル)に指定されるクラスです。

navigation-table-data-line

データ行に指定されるクラスです。

navigation-table-even-row

データ行の偶数行に指定されるクラスです。

navigation-table-odd-row

データ行の奇数行に指定されるクラスです。

navigation-table-data-cell

データ行の各項目(セル)に指定されるクラスです。

CSSファイルは、必ずサーバ上のフォルダに格納し、ユーザスクリプトからはパス付きで指定してください。