SFLLIN
とは縦1列のサブファイルをエミュレーター上で複数列のサブファイルに分割して表示する
DDSキーワードのひとつです。
1列あたりの行数がパラメータで指定した行数になると次の行を右方向のテーブルへ表示していきます。
eStudio で生成した Web適用業務をカスタマイズすることで、ブラウザ上でも SFLLIN
のように
複数列に分割したサブ・ファイル型の表示を行うことができます。
ブラウザ上でも縦に長いサブファイルを横に展開できれば、一段と見やすくなります。
それでは次のサンプルをご覧下さい。
カスタマイズを行う際のポイントとは次の2点です。
まず、テーブルを二つに分けるために「テーブルの終了タグ」+「次のテーブルの開始タグ」が HTML へ
動的にセットされるよう、CGIソースへ記述します。
行番号が 10 の場合フィールドへ HTMLタグ「</TABLE><TABLE CLASS="MAIN2">
」がセットされます。
それ以外ではブランクがセットされます。
********************************************************* P READF B EXPORT ********************************************************* D PI C EVAL HDR001 = SHCODE C 1 DO MAXGYO SFLRRN C SETOFF 50 C READ SHOHIN 50 C 50 CALLP SETEOF C 50 LEAVE C SFLRRN IFEQ 10 C EVAL ENDTBL=ENDTAG C ELSE C EVAL ENDTBL=*BLANK C END C WRITE SFREC01 99 C END C WRITE SFLCTL01 P E
続いて先ほど指定した「</TABLE><TABLE CLASS="MAIN2">
」がセットされる ENDTBL
フィールドを
HTMLテンプレートの REPORT
タグ内へ追加します。
フィールドの桁数は HTMLタグの文字数分を定義します。
<table class="MAIN1"> <REPORT NAME=SFREC01><tr> <td><span name=GYONO.0000 alt="4S0" EDTCDE(3)>####</span></td> <FLDFROM> <td nowrap width="110"><span name=SHCODE.0000 alt="10A">##########</span></td> <td nowrap width="200"><span name=SHNAME.0000 alt="24O">########################</span></td> <FLDEND> </tr> <span name=ENDTBL.0000 alt="29A">#############################</span> </REPORT> </table>
スタイルシートへクラス MAIN2
を定義します。
/*明細左テーブル*/ table.MAIN1{ float:left; clear:right; width:364px; border-width:0px 2px 2px 2px; margin-right:12px; } /*明細右テーブル*/ table.MAIN2{ float:left; clear:right; width:364px; border-width:0px 2px 2px 2px; }
float:left;
でエレメントを左寄せして表示し、
clear:right;
で後続のエレメントを右へ回り込ませます。