Yii的页面小部件
區(qū)別
?DetailView?小部件能夠用于顯示一條記錄數(shù)據(jù)
ListView?和?GridView?小部件能夠用于顯示一個(gè)擁有分頁(yè)、 排序和過濾功能的一個(gè)列表或者表格
格式化
默認(rèn)格式化時(shí)間
更多的格式化
自定義格式化
匿名函數(shù)格式化
圖片展示
['attribute' => 'image','format' => ['image',['width'=>'100','height'=>'100']],'value' => function ($data) {return $data->image;} ],鏈接
['attribute' => 'title','value' => function ($model, $key, $index, $column) {return Html::a($model->title, ['article/view', 'id' => $key]);},'format' => 'raw', ],數(shù)據(jù)枚舉
['attribute' => 'sex', 'value'=>function ($model,$key,$index,$column){return $model->sex==1?'男':'女'; },//在搜索條件(過濾條件)中使用下拉框來搜索'filter' => ['1'=>'男','0'=>'女'],//or'filter' => Html::activeDropDownList($searchModel,'sex',['1'=>'男','0'=>'女'],['prompt'=>'全部']) ],['label'=>'產(chǎn)品狀態(tài)', 'attribute' => 'pro_name', 'value' => function ($model) {$state = ['0' => '未發(fā)貨','1' => '已發(fā)貨','9' => '退貨,已處理',];return $state[$model->pro_name];},'headerOptions' => ['width' => '120'] ]代碼展示
主要有一個(gè)數(shù)據(jù)提供者? 一個(gè)過濾數(shù)據(jù)? 一個(gè)表格部分(列數(shù)據(jù)/動(dòng)作列)
GridView::widget([ // 你傳過來的ActiveDataProvider 'dataProvider' => $dataProvider, //過濾 'filterModel' => $searchModel, //以下就是表格部分了 'columns' => [// 第一列:排序['class' => 'yii\grid\SerialColumn'],// 第二列:sid,與你查詢的model字段相對(duì)應(yīng),可以少,不可以多'sid',//第三列:姓名sname['attribute' => 'sname',// 自定義列名'label'=>'姓名',],// 更復(fù)雜的列數(shù)據(jù)['class' => 'yii\grid\DataColumn', //由于是默認(rèn)類型樣式,可以省略//采用匿名函數(shù)方式 'value' => function ($data) {return $data->name; // 如果是數(shù)組數(shù)據(jù)則為 $data['name'] ,例如,使用 SqlDataProvider 的情形。},],// 動(dòng)作列,默認(rèn)三個(gè)動(dòng)作,分別為{view},{update},{delete}['class' => 'yii\grid\ActionColumn',// 列名'header' => '操作',// 定義這一列里面有幾個(gè)操作,這里為查看,更新,刪除'template' => '{stuent-view} {studnet-update} {student-delete}',// 為你template中聲明的操作聲明動(dòng)作'buttons' => [// 對(duì)應(yīng){student-view},三個(gè)參數(shù),最主要的$key,為你model主鍵的id'stuent-view' => function ($url, $models, $key) {// 為下面a鏈接的url,此處指向StudentController的actionView方法$url = ['student/view', 'id'=>$key];$options = ['title' => '查看','aria-label' => '查看','data-pjax' => '0',];return Html::a('<span class="glyphicon glyphicon-eye-open"></span>', $url, $options);}]], ], ]);DetailView
定義
?
DetailView小部件通常用來顯示的是一條記錄的詳情。
- 一個(gè)Model模型類對(duì)象。
- 一個(gè)AR類的實(shí)例對(duì)象。
- 由鍵值對(duì)構(gòu)成的一個(gè)關(guān)聯(lián)數(shù)組。
一個(gè)典型的DetailView的使用方法如下:
<?= DetailView::widget(['model' => $model,'attributes' => ['id','content:ntext',['attribute'=>'status''value'=>$model->status0->name]'create_time:datetime','update_time:datetime',],]) ?>屬性
代碼
options格式:'options' => ['class' => 'table table-striped table-bordered detail-view']template格式:'template' => '<tr><th{captionOptions}>{label}</th><td{contentOptions}>{value}</td></tr>'?
總結(jié)
- 上一篇: 花旗银行信用卡的分期付款怎么操作 哪些交
- 下一篇: 福汇能交易美股吗