LittleSoft J-Programming
5.4. データグリッド
この章では、JavaScript UI コンポーネントを使用し、縦横スクロールが可能なデータグリッドを組み込む手順について説明します。

JavaScript ファイルを読み込む
HTMLテンプレートのHEAD部にて、JavaScriptファイル「 datagrid.js 」を読み込みます。
※本コンポーネントを使用する際は、「 prototype.js 」が必須です。
※本コンポーネントを使用する際は、「 prototype.js 」が必須です。
<head>
<!-- prototype.jsの読み込み -->
<script language="javascript" type="text/javascript"
src="js/prototype/prototype_1_6_0.js"></script>
<!-- datagrid.jsの読み込み -->
<script type="text/javascript" src="ls/datagrid.js"></script>
</head>
<!-- prototype.jsの読み込み -->
<script language="javascript" type="text/javascript"
src="js/prototype/prototype_1_6_0.js"></script>
<!-- datagrid.jsの読み込み -->
<script type="text/javascript" src="ls/datagrid.js"></script>
</head>
データグリッドを構成するコンテンツを記述する
「 TABLE 」タグ内に「 THEAD / TBODY / TFOOT 」タグでコンテンツを記述することで、ボディにのみスクロールが適用されるグリッド表示が可能になります。
<div id="WorkGrig" class="DataGrid">
<table id="WorkGrigTable">
<thead>
<th>休憩時間</th><th>稼働時間</th><th>備考</th>
</tr>
</thead>
<tbody>
<td>2007/12/01</td><td>出勤</td><td>02:30</td><td>20:45</td>
<td>03:30</td><td>14:45</td><td>夜勤</td>
</tr>
<tr>…</tr>
</tbody>
<tfoot>
<td>15:00</td><td>61:00</td><td>-</td>
</tr>
</tfoot>
</table>
</div>
<table id="WorkGrigTable">
<thead>
ヘッダ
<tr><th>日付</th><th>区分</th><th>開始</th><th>終了</th><th>休憩時間</th><th>稼働時間</th><th>備考</th>
</tr>
<tbody>
ボディ
<tr><td>2007/12/01</td><td>出勤</td><td>02:30</td><td>20:45</td>
<td>03:30</td><td>14:45</td><td>夜勤</td>
</tr>
<tr>…</tr>
<tfoot>
フッタ
<tr><td></td><td>合計</td><td>-</td><td>-</td><td>15:00</td><td>61:00</td><td>-</td>
</tr>
</table>
</div>
画面表示時のオブジェクト作成処理を記述する
HTML テンプレート の BODY 部の最後で、グリッドオブジェクトの作成処理を行います。
第1パラメータにはグリッドを構成する「 DIV 」タグの ID を指定します。
第2パラメータでは連想配列で、以下の内容を指定します。
<body>
…
<script type="text/javascript"><!--
// グリッドオブジェクトを生成
gd = new ls.DataGrid('WorkGrig',
{colWidths:[150,100,70,70,70,70,100],
colHeaderSize:2, bottomFooter:false }
);
// --></script>
</body>
…
<script type="text/javascript"><!--
// グリッドオブジェクトを生成
gd = new ls.DataGrid('WorkGrig',
{colWidths:[150,100,70,70,70,70,100],
colHeaderSize:2, bottomFooter:false }
);
// --></script>
</body>
作成処理
画面のロード時に、「 ls.DataGrid 」オブジェクトを作成します。第1パラメータにはグリッドを構成する「 DIV 」タグの ID を指定します。
第2パラメータでは連想配列で、以下の内容を指定します。
- colWidths:各列のサイズ(ピクセル)を指定します。
- colHeaderSize:横スクロールにおいて、固定する列数(左から)
- bottomFooter:ボディ部とフッタ部の間に空行を挿入し、フッタ部をテーブルの底辺固定とするか否か。
グリッドの内容を書き換える
グリッドオブジェクトの「 update 」ファンクションを使用して、グリッドの内容を書き換えます。
第2パラメータには書き換える内容を設定します。
<head>
…
<script type="text/javascript"><!--
function changeTable() {
// グリッドの内容を書き換え
gd.update('WorkGrigTable','…………');
}
// --></script>
</head>
…
<script type="text/javascript"><!--
function changeTable() {
// グリッドの内容を書き換え
gd.update('WorkGrigTable','…………');
}
// --></script>
</head>
グリッドの内容を書き換える(「 update 」)
第1パラメータにはグリッドを構成する「 DIV 」タグの ID を指定します。第2パラメータには書き換える内容を設定します。
ページを表示する
縦横のスクロールが行えることを確認します。
Tips
その他、グリッドオブジェクトでは以下のファンクションが使用できます。
グリッドの縦スクロール位置を設定する(「 setScrollTop 」)
gd.setScrollTop(20);
パラメータに縦スクロールの開始位置(ピクセル)を指定します。
グリッドの横スクロール位置を設定する(「 setScrollLeft 」)
gd.setScrollLeft(50);
パラメータに横スクロールの開始位置(ピクセル)を指定します。
グリッドの最後まで縦スクロール位置を移動する(「 scrollLast 」)
gd.scrollLast();
グリッドを再調整する(「 adjust 」)
gd.adjust({colWidths:[150,100,70,70,70,70,100]});
パラメータには、オブジェクト作成時の第2パラメータと同じものが設定できます。