PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

Structures_DataGrid_Renderer_CheckableHTMLTable | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

Structures_DataGrid_Renderer_CheckableHTMLTable

Structures_DataGrid_Renderer_CheckableHTMLTable – グリッドの各行にチェックボックスをつけた HTML テーブルレンダリングドライバ

注意

このドライバは 実験的な もので、まだ正式にはリリースされていません。 CVS 版 でしか使用できません。

説明

DataGrid を、各行にチェックボックスのついた HTML テーブルとしてレンダリングするドライバです。

サポートする操作モード

このドライバは次の操作モードをサポートしています。

このドライバがサポートする操作モード
モード サポートしている?
コンテナのサポート yes
出力バッファリング yes
ダイレクトレンダリング no
ストリーミング no
オブジェクトの永続化 no

オプション

このドライバは、以下のオプションを受け付けます。

このドライバのオプション
オプション 説明 デフォルト値
buildFooter bool フッタを作成するかどうか。 true
buildHeader bool ヘッダを作成するかどうか。 true
classASC string TH 要素の CSS クラス名で、現在の並び順が昇順であることを表すもの。 ''
classDESC string TH 要素の CSS クラス名で、現在の並び順が降順であることを表すもの。 ''
columnAttributes array カラムのセルの属性。 array(fieldName => array(attribute => value, ...) ...) 形式の配列となります。 このオプションは、XML/HTML ベースのドライバでのみ使用します。 array()
convertEntities bool html エンティティを変換するかどうか。 htmlspecialchars() をコールします。 true
defaultCellValue string 空のセルに表示するデフォルトの値。 null
defaultColumnValues array カラムごとに指定するセルのデフォルト値。 array(fieldName => value, ...) 形式の配列となります。 array()
emptyRowAttributes array 空の行についての属性を含む連想配列。 array()
encoding string 内容のエンコーディング。mbstring 拡張モジュールが使用可能な場合、 デフォルト値は mb_internal_encoding() から取得します。 それ以外の場合のデフォルト値は ISO-8859-1 となります。 'ISO-8859-1'
evenRowAttributes array 偶数行の属性を含む連想配列。 array()
excludeVars array 作成される HTTP クエリから取り除く変数。 array()
extraVars array 作成される HTTP クエリに追加される変数。 array()
fillWithEmptyRows bool すべてのページで行数が同じになるようにするかどうか。 false
form object HTML_QuickForm オブジェクトのインスタンス。 null
formRenderer object HTML_QuickForm_Renderer_QuickHtml オブジェクトのインスタンス。 null
headerAttributes array 見出し行の属性。array(attribute => value, ...) 形式の配列となります。 array()
hideColumnLinks array デフォルトでは、すべてのカラムで並べ替えリンクが有効になります。 このオプションを使用すると、指定したカラムの並べ替えリンクを無効にできます。 array(fieldName, ...) 形式の配列で指定します。 このオプションは、並べ替えをサポートしているドライバでのみ有効です。 array()
inputName string チェックボックスの HTML_QuickForm 要素名。 'checkedItems'
numberAlign bool 数値を右詰めにするかどうか。 true
oddRowAttributes array 奇数行の属性を含む連想配列。 array()
onMove string ユーザがページを移動したりデータをソートしたりしたときの onclick/onsubmit イベント発生時にコールする Javascript 関数の名前。 この関数は、オブジェクトを引数として受け取ります。 このオブジェクトの形式は { page: <page>, sort: [{field: <field>, direction: <direction>}, ...], data: <user_data> } のようになります。このオプションを指定しても、 href 属性は削除されないことに注意しましょう。 href を無効にしたい場合 (AJAX など……) は、ハンドラ関数内で false を返すようにしなければなりません。 null
onMoveData string onMove に渡す引数のオブジェクトの、"data" に渡すデータ。JSON 形式のシリアル化は行わず、 そのままの形で "data" 属性に渡されます。 クォートやスラッシュなどを追加する処理は、自分で行ってください。 ''
primaryKey string 主キーの名前。この値をチェックボックスで使用します。 'id'
selfPath string 並べ替えおよびページ処理に使用するパス。 $_SERVER['PHP_SELF']
sortIconASC string 現在の並び順が昇順であることを示すアイコン。テキストか、 あるいは画像を表す HTML となります。 ''
sortIconDESC string 現在の並び順が降順であることを示すアイコン。テキストか、 あるいは画像を表す HTML となります。 ''
sortingResetsPaging bool 並べ替えの HTTP クエリで、ページをリセットするかどうか。 true

全般的な注意

このドライバは、テーブルの各行の最初のカラムにチェックボックスを配置します。 デフォルトでは、オプション 'inputName' で指定した名前の新しいカラムがチェックボックス用に作成されます。 このカラムをカスタマイズしたい場合は、次の例で示すようにカラムを自分で作成します。

基本的な使用例

<?php
require_once 'HTML/QuickForm.php';
require_once 
'HTML/QuickForm/Renderer/QuickHtml.php';
require_once 
'Structures/DataGrid.php';

// フォームおよび QuickHtml レンダラを準備します
$form =& new HTML_QuickForm();
$renderer =& new HTML_QuickForm_Renderer_QuickHtml();

// アクション選択用の要素と送信ボタンをフォームに追加します
$form->addElement('select''action''choose',
                  array(
'delete' => 'Delete',
                        
'move'   => 'Move to archive'));
$form->addElement('submit''submit''Save');

// DataGrid を準備します
$dg =& new Structures_DataGrid();
if (
PEAR::isError($dg)) {
   die(
$dg->getMessage() . '<br />' $dg->getDebugInfo());
}

// データをバインドします (たとえば SQL クエリや MDB2 を使用します)
$error $dg->bind('SELECT * FROM news',
                   array(
'dsn' => 'mysql://user:password@server/database'));
if (
PEAR::isError($error)) {
   die(
$error->getMessage() . '<br />' $error->getDebugInfo());
}

// デフォルトでは、チェックボックス用のカラムをレンダラが自動的に追加します。
// カラムを自分で追加するには、次の 4 行のようにします
$column = new Structures_DataGrid_Column('checkboxes''idList'null,
                                         array(
'width' => '10'));
$dg->addColumn($column);
$dg->generateColumns();

$rendererOptions = array('form'         => $form,
                         
'formRenderer' => $renderer,
                         
'inputName'    => 'idList',
                         
'primaryKey'   => 'id'
                        
);

// フォームのテンプレート用の文字列を使用します
$tpl '';

// HTML テーブルを作成し、それをテンプレート文字列に追加します
$tpl .= $dg->getOutput('CheckableHTMLTable'$rendererOptions);
if (
PEAR::isError($tpl)) {
   die(
$tpl->getMessage() . '<br />' $tpl->getDebugInfo());
}

// 選択ボックスと送信ボタンをテンプレート文字列に追加します
$tpl .= $renderer->elementToHtml('action');
$tpl .= $renderer->elementToHtml('submit');

// フォームを出力する準備ができました (toHtml() は、<form> / </form>
// をテンプレートに自動的に追加します)
echo $renderer->toHtml($tpl);

// フォームが送信されてデータが正しかった場合は、その内容を表示します
if ($form->isSubmitted() && $form->validate()) {
    
var_dump($form->getSubmitValues());
}
?>
忘却曲線を使ってこの知識を確実に記憶に残す

フォーラムで「Structures_DataGrid_Renderer_CheckableHTMLTable」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | Structures_DataGrid_Renderer_CheckableHTMLTable」をGoogle検索
copyright © 1997-2024 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: