
Webアプリケーション上では、しばしば、テーブルのような繰り返し構造に対して値をセットする必要が生じます。
Bshe_Viewでは、
テーブルへのデータセットでもっとも単純な、値のみを配列でセットする方法を示します。
データセット用の配列の基本構造は以下のようになります。
array(
データ番号 =>
array(
セットする値キー => 値
)
)ここで、
以下のようなHTMLを用意し
<table key='bshe::table:table:tablevalues' border=1>
<tr>
<th>セル1</th>
<th>セル2</th>
<th>セル3</th>
</tr>
<tr key='bshe::table:row:tablevalues'>
<td key='bshe::table:col:tablevalues:cel1'>a</td>
<td key='bshe::table:col:tablevalues:cel2'>a</td>
<td key='bshe::table:col:tablevalues:cel3'>a</td>
</tr>
</table>次のように配列をセットすると
$view->tablevalues =
array(
0 =>
array(
'cel1' => 'a1',
'cel2' => 'a2',
'cel3' => 'a3',
),
1 =>
array(
'cel1' => 'b1',
'cel2' => 'b2',
'cel3' => 'b3',
)
)次のようなHTMLが生成されます。
<table border=1>
<tr>
<th>セル1</th>
<th>セル2</th>
<th>セル3</th>
</tr>
<tr >
<td >a1</td>
<td >a2</td>
<td >a3</td>
</tr>
<tr >
<td >b1</td>
<td >b2</td>
<td >b3</td>
</tr>
</table>テーブルへのデータセット各繰り返しに対して、属性などの情報もセットしたい場合のデータ構造です。
データセット用の配列の基本構造は以下のようになります。
array(
データ番号 =>
array(
セットする値キー => セット対象に対する処理配列,
'_assigns' => 行タグに対する処理配列
)
'_assigns' => テーブルタグに対する処理配列
)ここで、
以下のようなHTMLを用意し
<table key='bshe::table:table:tablevalues' border=1>
<tr>
<th>セル1</th>
<th>セル2</th>
<th>セル3</th>
</tr>
<tr key='bshe::table:row:tablevalues'>
<td key='bshe::table:col:tablevalues:cel1'>a</td>
<td key='bshe::table:col:tablevalues:cel2'>a</td>
<td key='bshe::table:col:tablevalues:cel3'>a</td>
</tr>
</table>次のように配列をセットすると
$view->tablevalues =
array(
0 =>
array(
'cel1' =>
array(
array('a' => array('innerHTML' => 'a1'),
array('a' => array('bordercolor' ,'#FF0000')
),
'cel2' => 'a2',
'cel3' => 'a3',
'_assigns' =>
array(
array('a' => array('bordercolor' ,'#FFFF00')
)
)
)次のようなHTMLが生成されます。
<table border=1>
<tr>
<th>セル1</th>
<th>セル2</th>
<th>セル3</th>
</tr>
<tr bordercolor="#FFFF00">
<td bordercolor="#FF0000">a1</td>
<td >a2</td>
<td >a3</td>
</tr>
</table>多重テーブルへデータをセットすることも可能です。
データセット用の配列の基本構造は以下のようになります。
array(
データ番号 =>
array(
セットする値キー => 値,
'_values' => サブテーブルの配列
)
)ここで、
以下のようなHTMLを用意し
<table key='bshe::table:table:tablevalues' border=1>
<tr>
<th>セル1</th>
<th>セル2</th>
<th>セル3</th>
</tr>
<tr key='bshe::table:row:tablevalues'>
<td key='bshe::table:col:tablevalues:cel1'>a</td>
<td key='bshe::table:col:tablevalues:cel2'>a</td>
<td>
<table key='bshe::table:subtable:sub1' border=1>
<tr key='bshe::table:row:sub1'>
<td key='bshe::table:col:sub1:cel1'>a</td>
<td key='bshe::table:col:sub1:cel2'>a</td>
<td key='bshe::table:col:sub1:cel3'>a</td>
</tr>
</table>
</td>
</tr>
</table>次のように配列をセットすると
$view->tablevalues =
array(
0 =>
array(
'cel1' => 'a1',
'cel2' => 'a2',
'_values' =>
array(
'sub1' =>
array(
0 =>
array(
'cel1' => 'aa0',
'cel2' => 'aa1',
'cel3' => 'aa2'
),
1 =>
array(
'cel1' => 'aaa0',
'cel2' => 'aaa1',
'cel3' => 'aaa2'
)
),
'_assigns' =>
array(
// 色を指定
array( 'a' => array( 'bordercolor' ,'#0000FF'))
)
)
)
)
)次のようなHTMLが生成されます。
<table border=1>
<tr>
<th>セル1</th>
<th>セル2</th>
<th>セル3</th>
</tr>
<tr >
<td >a1</td>
<td >a2</td>
<td >
<table bordercolor="#0000FF" border=1>
<tr >
<td >aa0</td>
<td >aa1</td>
<td >aa2</td>
</tr>
<tr >
<td >aaa0</td>
<td >aaa1</td>
<td >aaa2</td>
</tr>
</table>
</td>
</tr>
</table>| Page Info | |
|---|---|
| Page Name : | Bshe/manual/Bshe_View/doc/Programmer/Assign/Resource/table |
| Page aliases : | None |
| Page owner : | abe |
| Can Read | |
| Groups : | All visitors |
| Users : | All visitors |
| Can Edit | |
| Groups : | No one |
| Users : | No one |