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

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

  

Structures_DataGrid_Renderer_HTMLTable

Structures_DataGrid_Renderer_HTMLTable – HTML テーブル レンダリングドライバ

説明

DataGrid を HTML Table としてレンダリングするドライバです。

サポートする操作モード

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

このドライバがサポートする操作モード
モード サポートしている?
コンテナのサポート 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
headerAttributes array 見出し行の属性。array(attribute => value, ...) 形式の配列となります。 array()
hideColumnLinks array デフォルトでは、すべてのカラムで並べ替えリンクが有効になります。 このオプションを使用すると、指定したカラムの並べ替えリンクを無効にできます。 array(fieldName, ...) 形式の配列で指定します。 このオプションは、並べ替えをサポートしているドライバでのみ有効です。 array()
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" 属性に渡されます。 クォートやスラッシュなどを追加する処理は、自分で行ってください。 ''
selfPath string 並べ替えおよびページ処理に使用するパス。 $_SERVER['PHP_SELF']
sortIconASC string 現在の並び順が昇順であることを示すアイコン。テキストか、 あるいは画像を表す HTML となります。 ''
sortIconDESC string 現在の並び順が降順であることを示すアイコン。テキストか、 あるいは画像を表す HTML となります。 ''
sortingResetsPaging bool 並べ替えの HTTP クエリで、ページをリセットするかどうか。 true

Prototype フレームワークを使用した、シンプルな AJAX サポート

<?php
require_once 'PEAR.php';
require_once 
'Structures/DataGrid.php';    

$datagrid =& new Structures_DataGrid(10);

$options['dsn'] = 'mysql://username@localhost/mydatabase';
$datagrid->bind("SELECT * FROM mytable"$options);

// onclick イベント発生時の Javascript ハンドラ関数を設定します
$datagrid->setRendererOption('onMove''updateGrid'true);

if (isset(
$_GET['ajax'])) {
    
// AJAX リクエスト 'table' を処理します
    
if ($_GET['ajax'] == 'table') {
        
$datagrid->render();
    }
    
// AJAX リクエスト 'pager' を処理します
    
if ($_GET['ajax'] == 'pager') {
        
$datagrid->render('Pager');
    }
    exit();
}

// AJAX リクエスト以外なら、普通の内容をレンダリングします……
?>
<html>

<head>
<!-- http://www.prototypejs.org にある Prototype JS フレームワークが必要です  -->
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
function updateGrid(info) 
{
    var url = '<?php echo $_SERVER['PHP_SELF']; ?>';
    var pars = 'page=' + info.page;
    if (info.sort.length > 0) {
        pars += '&orderBy=' + info.sort[0].field + '&direction=' + info.sort[0].direction;
    }
        
    new Ajax.Updater( 'grid', url, { method: 'get', parameters: pars + '&ajax=table' });
    new Ajax.Updater( 'pager', url, { method: 'get', parameters: pars + '&ajax=pager' });

    // 重要: href によるリンクを無効にするために false を返します
    return false;
}
</script>
</head>

<body>
ページ: <span id="pager"><?php $datagrid->render('Pager'); ?></span>
<div id="grid"><?php $datagrid->render(); ?></div>
</body>

</html>
忘却曲線を使ってこの知識を確実に記憶に残す

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