このドライバは、一般的なページング機能を提供します。 このドライバは完全にコンテナをサポートしており、 Structures_DataGrid::fill() メソッドを使用することができます。 出力のバッファリングを行うので、Structures_DataGrid::getOutput() を使用することができます。
このドライバは次の操作モードをサポートしています。
表 62-1このドライバがサポートする操作モード
モード | サポートしている? |
---|---|
コンテナのサポート | yes |
出力バッファリング | yes |
ダイレクトレンダリング | no |
ストリーミング | no |
オブジェクトの永続化 | no |
このドライバは、以下のオプションを受け付けます。
表 62-2このドライバのオプション
オプション | 型 | 説明 | デフォルト値 |
---|---|---|---|
buildFooter | bool | フッタを作成するかどうか。 | true |
buildHeader | bool | ヘッダを作成するかどうか。 | true |
defaultCellValue | string | 空のセルに表示するデフォルトの値。 | null |
defaultColumnValues | array | カラムごとに指定するセルのデフォルト値。 array(fieldName => value, ...) 形式の配列となります。 | array() |
encoding | string | 内容のエンコーディング。mbstring 拡張モジュールが使用可能な場合、 デフォルト値は mb_internal_encoding() から取得します。 それ以外の場合のデフォルト値は ISO-8859-1 となります。 | 'ISO-8859-1' |
excludeVars | array | 作成される HTTP クエリから取り除く変数。 | array() |
extraVars | array | 作成される HTTP クエリに追加される変数。 | array() |
fillWithEmptyRows | bool | すべてのページで行数が同じになるようにするかどうか。 | false |
hideColumnLinks | array | デフォルトでは、すべてのカラムで並べ替えリンクが有効になります。 このオプションを使用すると、指定したカラムの並べ替えリンクを無効にできます。 array(fieldName, ...) 形式の配列で指定します。 このオプションは、並べ替えをサポートしているドライバでのみ有効です。 | array() |
numberAlign | bool | 数値を右詰めにするかどうか。 | true |
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" 属性に渡されます。 クォートやスラッシュなどを追加する処理は、自分で行ってください。 | '' |
pagerOptions | array | Pager::factory() に渡すオプション。基本的なデフォルト値は mode: Sliding, delta: 5, separator: "|", prevImg: "<<" (<<), nextImg: ">>" (>>) です。 extraVars および excludeVars は、レンダラの同名のオプションの内容が設定されます。 追加したり除外したい変数は、ここで指定することが可能です。 totalItems、perPage、urlVar および currentPage は、DataGrid およびデータソースから受け取ったデータの状態に応じて設定されます。 それによって何がどうなるかを把握しているのなら、 これらの値を上書きすることも可能です。 |