Symfoware Server WebDBtoolsユーザーズガイド - FUJITSU - |
目次
索引
![]() ![]() |
第11章 WebDBtools画面のカスタマイズ |
WebDBtoolsの画面のカスタマイズ例を説明します。
表定義画面のデフォルトの値である以下の値を変更します。
プライマリキーを“あり”から“なし”に変更します。
列数を10から20に変更します。
表定義のフォーマットファイルを処理概要から検索します。
対象フォーマットファイル:WebDBtools_DefinitionOperationAddTable01.html
対象フォーマットファイルを調査します。
元のフォーマットファイルをバックアップします。
プライマリキーを“あり”から“なし”に変更します。
<!VAR PrimaryKey scope="LOCAL" VALUE="yes">
↓
<!VAR PrimaryKey scope="LOCAL" VALUE="no">
列数を10から20に変更します。
<!VAR ColumnNum scope="LOCAL" VALUE="10">
↓
<!VAR ColumnNum scope="LOCAL" VALUE="20">
データ操作のデフォルトの値である以下の値を変更します。
一度に表示する検索件数の上限値を変更します。
データ操作のフォーマットファイルを処理概要から検索します。
対象フォーマットファイル:WebDBtools_DataOperationSelect02.html
対象フォーマットファイルを調査します。
元のフォーマットファイルをバックアップします。
一度に表示する件数の上限値を50から100件に変更します。
<!SETVAR breakcontrol '50'> ↓ <!SETVAR breakcontrol '100'>
データ操作の検索での画面の表示方法を変更します。
標準画面では、一画面ごとに検索したデータを表形式で表示しています。検索したすべてのデータを記憶しておき、検索行の指定に従って一件をカード形式で表示するように変更します。なお、簡単な処理にするために、BLOB型の列は表示しません。
データ操作の検索結果のフォーマットファイルを処理概要から探します。
対象フォーマットファイル:WebDBtools_DataOperationSelect02.html
対象フォーマットファイルの処理内容を調査します。一画面ごとに検索したデータを表形式で表示しています。一画面に表示できない場合は、[次ページ]ボタンをクリックしたときに、再検索したデータを表形式で表示しています。
変更後の処理を検討します。
検索したデータを記憶させておき、表示したい行を指定することにより、対象の一件をカード形式で表示させるよう変更します。
元のフォーマットファイルをバックアップします。
フォーマットファイルを変更します。
初回のみ検索させるために、フラグの設定と判定を変更します。
<!elseif '(formmode eq "initial" && execoption eq "submit") || (formmode eq "action" && execoption eq "confirm")'> ・・・ <!setvar execoption "submit"> <!-- ← 修正前(1) --> <!else> <!setvar rslt "success"> <!/if> <!if 'execoption eq "submit"'> <!-- ← 修正前(2) --> |
<!elseif '(formmode eq "initial" && execoption eq "submit") || (formmode eq "action" && execoption eq "confirm")'> ・・・ <!setvar execoption "select"> <!-- ← 修正後(1) --> <!else> <!setvar rslt "success"> <!/if> <!if 'execoption eq "select"'> <!-- ← 修正後(2) --> |
データを表形式で表示させる処理を削除し、データを記憶させる処理を追加します。
<!-- ↓ 修正前(3) --> <B>結果</B> <BR> <!-- ↑ 修正前(3) --> <!if 'rslt eq "success"'> <!-- ↓ 修正前(4) --> <!hreplace totalcount>件 検索されました。<BR><BR> <TABLE BORDER="0" CELLSPACING="1" CELLPADDING="1"> ・・・ </TABLE> <!-- ↑ 修正前(4) --> <!do "COMMIT WORK"> <!if 'SYSTEM::DB_ERRORCODE ne "00000"'> ・・・ <!else> <!-- ↓ 修正前(5) --> <!setvar rslt "success"> <!if 'nextpage ne "" && nextpage ne "none"'> <TABLE BORDER="0"> ・・・ </TABLE> <!/if> <BR><BR> <TABLE BORDER="0"> ・・・ </TABLE> <!-- ↑ 修正前(5) --> <!/if> |
<!-- 修正後(3) 処理なし --> <!if 'rslt eq "success"'> <!-- ↓ 修正後(4) --> <!if 'defined(Dat_SelectData)'> <!undefvar Dat_SelectData> <!/if> <!if 'defined(Dat_SelectCol)'> <!undefvar Dat_SelectCol> <!/if> <!var Dat_SelectData scope="GLOBAL"> <!var Dat_SelectCol scope="GLOBAL"> <!setvar Dat_SelectData SelResult> <!for lcnt 0 'listlen(SelResult[0])-1'> <!setvar Dat_SelectCol[lcnt] key(SelResult[0],lcnt)> <!/for> <!-- ↑ 修正後(4) --> <!do "COMMIT WORK"> <!if 'SYSTEM::DB_ERRORCODE ne "00000"'> ・・・ <!else> <!-- ↓ 修正後(5) --> <!setvar rslt "success"> <!setvar line '1'> <!setvar execoption "display"> <!-- ↑ 修正後(5) --> <!/if> |
データをカード形式で表示させる処理を追加します。
<!elseif 'execoption eq "confirm"'> ・・・ <!-- 修正前(6) 処理なし --> <!/if> <!-- 修正前(7) 処理なし --> |
<!elseif 'execoption eq "confirm"'> ・・・ <!-- ↓ 修正後(6) --> <!elseif 'execoption eq "submit"'> <!setvar line 'QUERY::PrintLine'> <!setvar execoption "display"> <!-- ↑ 修正後(6) --> <!/if> <!-- ↓ 修正後(7) --> <!if 'execoption eq "display"'> <!setvar lineMax 'listlen(Dat_SelectData)'> <!if '1 > line || line > lineMax'> <TABLE BORDER="0"> <TR> <TD> </TD> <TD>(<!replace line>/<!replace lineMax>) 範囲外です。</TD> </TR> </TABLE> <!else> <TABLE BORDER="0" CELLSPACING="1" CELLPADDING="1"> <TR> <TD> </TD> <TD>(<!replace line>/<!replace lineMax>)</TD> </TR> <!for lcnt 0 'listlen(Dat_SelectData[line-1])-1'> <!setvar col Dat_SelectCol[lcnt]> <!if 'col eq "ROW_ID"'> <!continue> <!/if> <TR> <TD> </TD> <TD CLASS="DatTableColor5" NOWRAP><B><!hreplace col></B></TD> <TD CLASS="DatTableColor7" NOWRAP><!hreplace Dat_SelectData[line-1][lcnt]></TD> </TR> <!/for> </TABLE> <!/if> <TABLE BORDER="0"> <TR> <TD> </TD> <TD> <INPUT TYPE="text" NAME="PrintLine" VALUE="$line" SIZE="5"> <INPUT TYPE="submit" VALUE="表示" WIDTH="62" HEIGHT="26"> <!setvar prevLine 'line-1'> <!setvar nextLine 'line+1'> <INPUT TYPE="submit" VALUE="<<" CLASS="ButtonSize4" WIDTH="62" HEIGHT="26" OnClick="PrintLine.value='$prevLine'"> <INPUT TYPE="submit" VALUE=">>" CLASS="ButtonSize4" WIDTH="62" HEIGHT="26" OnClick="PrintLine.value='$nextLine'"> </TD> </TR> </TABLE> <BR> <TABLE BORDER="0"> <TR> <TD> </TD> <TD><INPUT TYPE="submit" VALUE="終了" CLASS="ButtonSize1" WIDTH="62" HEIGHT="26" onClick="SetCloseForm()"></TD> </TR> </TABLE> <!/if> <!-- ↑ 修正後(7) --> |
目次
索引
![]() ![]() |