CGridView はデータをテーブル形式で表示します。CGridView はページングと並べ替えもサポートしています。CGridView と ListView タイプの最も基本的な使用法は、データ プロバイダー (通常は CActiveDataProvider) を設定することによって行われます。
前の例 Yii フレームワーク開発チュートリアル (31) Zii コンポーネント-DetailView の例を変更し、ListView を GridView に変更します。
widget('zii.widgets.grid.CGridView', array( 'dataProvider'=>$dataProvider, 'ajaxUpdate'=>false, 'template'=>'{pager}{summary}{items}{pager}', )); ?>
GridView がデフォルトですべてのフィールドを表示し、フィールドの表示にデフォルトの形式を使用することがわかります。フィールドの表示と形式を制御する必要がある場合は、CGridView::columns プロパティを構成することでこれを行うことができます。 GridView の各列は CGridColumn オブジェクトです。
CGridColumn は、すべてのグリッド リスト項目の基本クラスです。テーブルの各例には、ヘッダー、複数のデータ セル、およびオプションのフッター セルを含めることができます。
CButtonColumn は、セルが 1 つ以上のボタンであることを示します。デフォルトでは、「表示」、「更新」、「削除」の 3 つのボタンが表示されますが、ボタンとテンプレートを設定することで変更できます。
CCheckBoxColumn はセルがチェックボックスであることを示し、読み取り専用、単一選択または複数選択をサポートし、selectableRows を構成することで変更できます。
CDataColumn はセルがデータまたは式であることを示し、名前または値を構成します。前者は、PHP 式をコード化するデータ モデル名の属性を表します。
CLinkColumn はハイパーリンクを表し、リンクは label、url、または imageUrl を構成することで設定されます。
GridView の columns 属性を次のように再定義します:
widget('zii.widgets.grid.CGridView', array('id'=>'person-grid','dataProvider'=>$dataProvider,'htmlOptions'=>array('style'=>'width:740px'),'pager'=> array('maxButtonCount'=>'7',),'columns'=>array(array('header'=>'Name','type'=>'raw', 'value'=>'CHtml::link($data->FirstName ." " . $data->LastName,$this->grid->controller->createUrl("view",array("CustomerId"=>$data- >CustomerId)))',),'Company',array('class'=>'CLinkColumn', 'header'=>'Email','imageUrl'=>'images/email.png','labelExpression'=>'$data->Email','urlExpression'=>'"mailto://". $data->Email','htmlOptions'=>array('style'=>'text-align:center'),),array('class'=>'CButtonColumn', 'deleteConfirmation'=>'Are you sure to delete this item?',),),)); ?>
名前をクリックして DetailView を表示します。 ButtonColumn の更新、検索、および削除では、対応するビューは追加されないため、自分で追加する必要があります。
上記は、PHP 開発フレームワーク Yii Framework チュートリアル (32) Zii コンポーネント-GridView の例の内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。