• 検索結果がありません。

カスタマイズ例

ドキュメント内 WebDBtoolsユーザーズガイド (ページ 162-168)

第9章 環境パラメタ

11.4 カスタマイズ例

機能部 詳細操作ID 処理

Insert01 挿入(1/1画面)

直接実 行

Direct Operation

直接操作 入力

Input 直接操作入力

カスタマイズ項目

- 標準画面では、一画面ごとに検索したデータを表形式で表示しています。検索したすべてのデータを記憶して おき、検索行の指定に従って一件をカード形式で表示するように変更します。なお、簡単な処理にするために、

BLOB型の列は表示しません。

手順

1. データ操作の検索結果のフォーマットファイルを処理概要から探します。

対象フォーマットファイル:WebDBtools_DataOperationSelect02.html

2. 対象フォーマットファイルの処理内容を調査します。一画面ごとに検索したデータを表形式で表示しています。

一画面に表示できない場合は、[次ページ]ボタンをクリックしたときに、再検索したデータを表形式で表示して います。

3. 変更後の処理を検討します。

検索したデータを記憶させておき、表示したい行を指定することにより、対象の一件をカード形式で表示させる よう変更します。

4. 元のフォーマットファイルをバックアップします。

5. フォーマットファイルを変更します。

初回のみ検索させるために、フラグの設定と判定を変更します。

<!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) -->

&nbsp;&nbsp;<B>結果</B>

<BR>

<!-- ↑ 修正前(3) -->

<!-- ↓ 修正前(4) -->

&nbsp;&nbsp;<!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>&nbsp;</TD>

<TD>(<!replace line>/<!replace lineMax>) 範囲外です。</TD>

</TR>

</TABLE>

<!else>

<TABLE BORDER="0" CELLSPACING="1" CELLPADDING="1">

<TR>

<TD>&nbsp</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>&nbsp</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>&nbsp;</TD>

<TD>

<INPUT TYPE="text" NAME="PrintLine" VALUE="$line" SIZE="5">

<INPUT TYPE="submit" VALUE="表示" WIDTH="62" HEIGHT="26">&nbsp;&nbsp;

<!setvar prevLine 'line-1'>

<!setvar nextLine 'line+1'>

<INPUT TYPE="submit" VALUE=">>" CLASS="ButtonSize4" WIDTH="62"

HEIGHT="26" OnClick="PrintLine.value='$nextLine'">

</TD>

</TR>

</TABLE>

<BR>

<TABLE BORDER="0">

<TR>

<TD>&nbsp;</TD>

<TD><INPUT TYPE="submit" VALUE="終了" CLASS="ButtonSize1"

WIDTH="62" HEIGHT="26" onClick="SetCloseForm()"></TD>

</TR>

</TABLE>

<!/if>

<!-- ↑ 修正後(7) -->

付録 A WebScript ヒント集

WebScriptを利用する場合に、ヒントとなる項目について説明します。

ドキュメント内 WebDBtoolsユーザーズガイド (ページ 162-168)