1. 説明
書き込み帳票を開発する時、細かい機能を実現するためJavascriptを利用しカスタム開発する必要がります。例えば動的に編集可能/不可を設定する、ウィジェットに値を設定することなど。
パラメータパネルウィジェットと同じ、ウィジェットを設定するため、まずはウィジェット/セルを取得。区別は書き込み帳票にセルとウィジェット両方があります。Javascriptでウィジェットとセルを両方操作できますが、セルの場合は値の設定と取得のみ可能です。
2. 事例
2.1 セルの値を取得
セルの値を取得する方法
contentPane.getCellValue(sheet番号, 列番号, 行番号); //番号は0から始まる
contentPane.curLGP.getCellValue(列番号, 行番号);
contentPane.curLGP.getCellValue(セル); //A3,B2など
contentPane.curLGP._get$TDCell(列番号, 行番号).text();//セルの表示値を取得
contentPane.curLGP._get$TDCell(セル).text();//A3,B2など
注意:実際値と表示値の区分があります
2.2 セルの値を設定
セルの値を設定する方法
contentPane.setCellValue(sheet番号, 列番号, 行番号, 値); //番号は0から始まる
contentPane.curLGP.setCellValue(列番号, 行番号, 値);//表示値を設定
contentPane.curLGP.setCellValue(セル, null, 値);//表示値を設定
contentPane.setCellValue(列番号, 行番号, 値);//実際値を設定、DB更新は実際値で更新する
contentPane.setCellValue(セル,null,値);//実際値を設定、DB更新は実際値で更新する
2.3 セルの行/列番号を取得
上記の方法で値を取得するため、セルの行/列番号は必須です。展開されたセルの行列番号は動的になりますので、動的に取得する方法を紹介します。
contentPane.curLGP.getTDRow(contentPane.curLGP.currentTDCell)//現在のセルの行番号を取得
contentPane.curLGP.getTDCol(contentPane.curLGP.currentTDCell)//現在のセルの列番号を取得
2.4 セルと行/列番号の変換
1) 行列番号をセルに変換
FR.columnRow2CellStr({col:1, row:0});//戻り値は:B1
2) セルを行列番号に変換
FR.cellStr2ColumnRow('B1');
2.5 ウィジェットを取得
書き込み画面のウィジェットはcontentpaneオブジェクトから取得できます、パラメータパネルと比べると書き込み画面のウィジェットは展開される可能性があります。方法は下記のよう:
1) 該当するウィジェットを取得(1つ)
contentPane.getWidgetByName("ウィジェット名");//ウィジェット名で取得
contentPane.getWidgetByCell("セル");//セル名で取得
2) 展開するウィジェットを取得(複数)
帳票画面のセルは展開する場合があります。展開されたすべてのウィジェットを取得する方法は下記のよう:
contentPane.getWidgetsByName("ウィジェット名")//ウィジェットの配列を戻す
2.6 ウィジェットのメソッド一覧
ウィジェットオブジェクトを取得後、下記のメソッドでウィジェットの値、表示/非表示、入力可能/不可などを設定できます。
| メソッド名 | メソッド | 説明 |
|---|---|---|
実際値を取得 | Widget.getValue() | ウィジェットの実際値を取得 |
表示値を取得 | Widget.getText() | ウィジェットの表示値を取得 |
実際値を設定 | Widget.setValue() | ウィジェットの実際値を設定 |
表示値を設定 | Widget.setText() | ウィジェットの表示値を設定 |
リセット | Widget.reset() | ウィジェットの値をリセット |
表示 | Widget.visible() | ウィジェットを表示する |
非表示 | Widget.invisible() | ウィジェットを非表示する |
表示/非表示状態 | Widget.isVisible(boolean) | ウィジェットの表示/非表示の状態を戻す、表示:true、非表示:false |
表示/非表示設定 | Widget.setVisible(boolean) | ウィジェットの表示/非表示を設定、表示:true、非表示:false |
入力可能/不可設定 | Widget.setEnable(boolean) | ウィジェットの使用可能/使用不可を設定、可能:true、不可:false |
入力可能/不可状態 | Widget.isEnabled() | ウィジェットの使用可能/使用不可の状態を戻す、可能:true、不可:false |
ウィジェットのイベントを実行 | Widget.fireEvent("イベント名") | ウィジェットに設定されたイベントを実行 |
空白可能/不可状態 | Widget.options.allowBlank=false | ウィジェットの空白可能/不可の状態を戻す、可能:true、不可:false |
Widget は取得されたウィジェットオブジェクト
注意:プルダウンツリーに値を設定する時下記のようです。Widget.setValue(値,falsse)。
注意:値の設定について、getCellValue()とsetCellValue()を推奨します。※セルの値を取得/設定
注意:シートを指定していない場合、現在のシートのウィジェットとなります。