ユーザスクリプト機能で表示するテーブルデータの取得やユーザHTML画面を使用するためのオブジェクトです。
テーブルデータとは、2次元で表される配列を扱うデータ形式です。配列の各要素はstring型の文字列です。
プロパティ名 | 機能 | 初期値 |
---|---|---|
Table | エミュレータ画面に表示するテーブルデータ | Arrayオブジェクトの初期値 |
注意
ビューオブジェクトが保持可能なテーブルは1つです。
メソッド名 | 機能 |
---|---|
GetTableData | テーブルデータの取得 |
AddTable | Tableプロパティへのデータ追加 |
ClearTable | Tableプロパティの初期化 |
ShowTableData | テーブルデータの取得と表示 |
CloseTableData | テーブルデータを閉じる |
OpenUserScreen | ユーザHTML画面の表示 |
CloseUserScreen | ユーザHTML画面の消去 |
テーブルデータの取得
WSMGR for Webサーバに登録したリソースファイルの定義から、文字列の2次元配列データを取得します。取得した2次元配列の内容は、表形式のテーブルデータとして格納されます。テーブルデータは1番目の配列要素がテーブル上の行、2番目の配列要素がテーブル上の列とみなされます。
●呼び出し形式
GetTableData(ConnectionName, SqlKey, HasHeader)
●パラメータ
パラメータ | 説明 | 省略時の初期値 |
---|---|---|
ConnectionName | 「dataProvider.config」に設定したデータ接続文字列名を指定 | 省略できません |
SqlKey | 「WsmgrDataAccess.ini」のSQLセクションに登録したキー名を指定 | 省略できません |
HasHeader | TRUE:1行目をヘッダ行とみなす | 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] | 指定したキーの設定値 |
キー名と値の文字列は自由に指定できます。
フォーマットは次のとおりです。
dataProvider.config
.NET Frameworkのデータプロバイダにより接続先を指定するXMLファイル形式のリソースファイルです。ご利用の環境に合わせ各項目を編集してください。
XMLキー名 | 設定する要素 |
---|---|
name | GetTableDataメソッドのConnectionNameパラメータに指定するデータ接続文字列名 |
connectionString | RDB、またはCSVファイルへアクセスするために必要な接続文字列 |
providerName | データストアへのアクセスに使用するADO.NETプロバイダ名 |
providerNameに指定する値
値 | 説明 |
---|---|
System.Data.SqlClient | Microsoft SQL Serverに接続する場合に指定してください。 |
System.Data.OleDb | OLE DBを使用して公開されるデータソースの場合に指定してください。 |
System.Data.Odbc | ODBCを使用して公開されるデータソースの場合に指定してください。 |
System.Data.OracleClient | Oracleのデータソースの場合に指定してください。 |
設定例)
<add name="MySqlServer" conectionString="server=myserver;database=Customers;uid=Use1r;pwd=user1-pwd1" providerName="System.Data.SqlClient" />
WsmgrDataAccess.ini
iniファイル形式のリソースファイルです。ご利用の環境に合わせ各項目を編集してください。
キー名 | 設定値 |
---|---|
GetTableDataメソッドのSqlKeyパラメータに指定するキー名(任意の文字列) | データストアよりデータを取得するためのSQL文 |
設定例)
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; }
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プロパティへ追加
Tableプロパティの初期化
Tableプロパティに設定されたデータを消去します。
●呼び出し形式
ClearTable()
●パラメータ
ありません
●リターン値
関数の呼び出しに成功するとTRUEを返します。エラーの場合はFALSEを返します。
●JavaScriptを用いて記述した例
var Dspemu = new WsmgrDspemu(); // インスタンスの作成 Dspemu.view.ClearTable(); // Tableプロパティを初期化
テーブルデータの取得と表示
Tableプロパティのテーブルデータを取得し、エミュレータ画面上の指定位置にテーブルとして表示します。事前にAddTableメソッドを使用してTableプロパティにデータを設定しておく必要があります。
●呼び出し形式
ShowTableData(Row1, Col1, Row2, Col2, hasHeader)
●パラメータ
パラメータ | 説明 | 省略時の初期値 |
---|---|---|
Row1 | データを表示するエミュレータ画面上の開始行を指定(1~24、または-1) | 省略できません |
Col1 | データを表示するエミュレータ画面上の開始桁を指定(1~80、または-1) | |
Row2 | データを表示するエミュレータ画面上の終了行を指定(1~24、または-1) | 省略できません |
Col2 | データを表示するエミュレータ画面上の終了桁を指定(1~80、または-1) | |
hasHeader | TRUE:テーブルデータの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桁ずつ広げる必要があります。
テーブルデータを閉じる
ShowTableDataでエミュレータ画面上に表示したテーブルデータを閉じます。
●呼び出し形式
CloseTableData()
●パラメータ
ありません
●リターン値
関数の呼び出しに成功するとTRUEを返します。エラーの場合はFALSEを返します。
●JavaScriptを用いて記述した例
var Dspemu = new WsmgrDspemu(); // インスタンスの作成 Dspemu.view.CloseTableData(); // テーブルデータを閉じる
ユーザ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スクリプトを使用してエミュレータを操作することができません。
ユーザ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ファイルは、必ずサーバ上のフォルダに格納し、ユーザスクリプトからはパス付きで指定してください。