- 浏览: 104404 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
沉醉音乐的咖啡:
引用
Yii框架中ActiveRecord使用Relations -
stevecj:
呵呵,这个以后再交流。
盛大开始行动了,值得尊敬 -
庄表伟:
谢谢鼓励!我们会更加努力的。能聊聊你想做的另一个新产品是什么吗 ...
盛大开始行动了,值得尊敬
Yii CGridView 详解(关键看关联表字段排序部分)
//CGridView详解
这东西在后台比较有用,能加速开发的速度,值得一看
CGridView用表格的方式显示数据项
每一行代表一个数据项,一列通常代表数据项的一个属性
CGridView支持排序和分页,可以用ajax或普通的方式
CgridView必序和data provider一起使用
最简单的用法
$dataprovider = new CActiveDataProvider(‘Post’);
$this->widget(‘zii.widgets.grid.CGridView’,array(
‘dataProvider’=>$dataprovider,
));
这会用表格的方式显示每一条数据项,每一列是Post的一个属性
在显示中带了分页和排序
我们可以自定义CgridView::columns属性,以自定义表格列的显示方式
这个cloumns如何配置呢?
其是一个数组,每一个数组元素对应着一列的配置,可以是字符串或数组
1、如果是字符串,格式是name:type:header 后两者是可选的,根据这三个值,创建一个CdatColumn实例
其中type参见CFormatter
2、如果是数组,其可以实例化CDdataColumn、ClinkColumn,CButtonColumn,CCheckBoxColumn实例,具体实例化哪个
由数组中的class指定,默认是CDataColumn
2.1,如果class=>’CDataCloumn’
则可以指定name或者value,如果指定以value优先
用CDataColumn时如何以关联表的数据序列?
代码如下:表示可以post关联的author中的username排序列
$dataprovider = new CActiveDataProvider(‘Post’,array(
‘criteria’=>array(
‘with’=>’author’,
),
‘sort’=>array(
‘attributes’=>array(
‘title’,'create_time’,
‘author_id’=>array(‘asc’=>’author.username asc’,'desc’=>’author.username desc’,’label’=>’作者’)
)
),
));
$this->widget(‘zii.widgets.grid.CGridView’,array(
‘dataProvider’=>$dataprovider,
‘columns’=>array(
‘title’,
‘create_time’,
array(‘name’=>’author_id’,'value’=>’$data->author->username’),
),
));
另外CDataColumn还有一个filter属性,如果是空,那么生成一个textfield,如果是数组(键值),则生成一个dropDownlist在当前列的上部,供搜索
2.2:如果class=>”CLinkColumn”
array(‘class’=>’CLinkColumn’,'label’=>’查看用户’,'url’=>Yii::app()->createURL(‘user/edit’))
则生成一个连接
2.3:如果class=”CCheckBoxColumn”
array(‘class’=>’CCheckBoxColumn’,'name’=>’title’,'id’=>’select’),
可以生成一个checkbox供选择,且只能选一个
可以配置CGridView::selectableRows 如果是0,则不能选,如果 1,只选一个如果是2或其它值,则可以选多个
代码如下:
$this->widget(‘zii.widgets.grid.CGridView’,array(
‘dataProvider’=>$dataprovider,
‘selectableRows’=>2,
‘columns’=>array(
array(‘class’=>’CCheckBoxColumn’,'name’=>’title’,'id’=>’select’),
),
2.3:如果class=”CButtonColumn”
array(
‘class’=>’CButtonColumn’,
‘updateButtonUrl’=>’Yii::app()->createUrl(“post/edit”,array(“id”=>$data->id));’,
),
修改updateButtonUrl为编辑贴子
如何用gridview生成一个代搜索的管理列表
1、在Model的rules 设定可以搜索的属性
array(‘title, status, create_time’, ‘safe’, ‘on’=>’search’),
2、在Model中,添加搜索时的方法
public function search()
{
$criteria=new CDbCriteria;
$criteria->compare(‘title’,$this->title,true);
$criteria->compare(‘status’,$this->status);
$criteria->compare(‘create_time’,$this->create_time);
return new CActiveDataProvider(‘Post’, array(
‘criteria’=>$criteria,
‘sort’=>array(
‘defaultOrder’=>’status, update_time DESC’,
),
));
}
3、 在Controler中,写接受搜索用到的表单的值的方法
public function actionAdmin()
{
$model=new Post(‘search’);
if(isset($_GET['Post']))
$model->attributes=$_GET['Post'];
$this->render(‘admin’,array(
‘model’=>$model,
));
}
4、在view中用CGridView显示
设置好
<?php $this->widget(‘zii.widgets.grid.CGridView’, array(
‘dataProvider’=>$model->search(),
‘filter’=>$model,
‘columns’=>array(
),
)); ?>
以上代码大部分是yii自动生成的,只要做少量修改即可
有时候会出现,搜索后页面为空的清况,原因可能是
layout/main.php中
echo $content外层无div,就是说main.php中必须有一个div包含$content
//CGridView详解
这东西在后台比较有用,能加速开发的速度,值得一看
CGridView用表格的方式显示数据项
每一行代表一个数据项,一列通常代表数据项的一个属性
CGridView支持排序和分页,可以用ajax或普通的方式
CgridView必序和data provider一起使用
最简单的用法
$dataprovider = new CActiveDataProvider(‘Post’);
$this->widget(‘zii.widgets.grid.CGridView’,array(
‘dataProvider’=>$dataprovider,
));
这会用表格的方式显示每一条数据项,每一列是Post的一个属性
在显示中带了分页和排序
我们可以自定义CgridView::columns属性,以自定义表格列的显示方式
这个cloumns如何配置呢?
其是一个数组,每一个数组元素对应着一列的配置,可以是字符串或数组
1、如果是字符串,格式是name:type:header 后两者是可选的,根据这三个值,创建一个CdatColumn实例
其中type参见CFormatter
2、如果是数组,其可以实例化CDdataColumn、ClinkColumn,CButtonColumn,CCheckBoxColumn实例,具体实例化哪个
由数组中的class指定,默认是CDataColumn
2.1,如果class=>’CDataCloumn’
则可以指定name或者value,如果指定以value优先
用CDataColumn时如何以关联表的数据序列?
代码如下:表示可以post关联的author中的username排序列
$dataprovider = new CActiveDataProvider(‘Post’,array(
‘criteria’=>array(
‘with’=>’author’,
),
‘sort’=>array(
‘attributes’=>array(
‘title’,'create_time’,
‘author_id’=>array(‘asc’=>’author.username asc’,'desc’=>’author.username desc’,’label’=>’作者’)
)
),
));
$this->widget(‘zii.widgets.grid.CGridView’,array(
‘dataProvider’=>$dataprovider,
‘columns’=>array(
‘title’,
‘create_time’,
array(‘name’=>’author_id’,'value’=>’$data->author->username’),
),
));
另外CDataColumn还有一个filter属性,如果是空,那么生成一个textfield,如果是数组(键值),则生成一个dropDownlist在当前列的上部,供搜索
2.2:如果class=>”CLinkColumn”
array(‘class’=>’CLinkColumn’,'label’=>’查看用户’,'url’=>Yii::app()->createURL(‘user/edit’))
则生成一个连接
2.3:如果class=”CCheckBoxColumn”
array(‘class’=>’CCheckBoxColumn’,'name’=>’title’,'id’=>’select’),
可以生成一个checkbox供选择,且只能选一个
可以配置CGridView::selectableRows 如果是0,则不能选,如果 1,只选一个如果是2或其它值,则可以选多个
代码如下:
$this->widget(‘zii.widgets.grid.CGridView’,array(
‘dataProvider’=>$dataprovider,
‘selectableRows’=>2,
‘columns’=>array(
array(‘class’=>’CCheckBoxColumn’,'name’=>’title’,'id’=>’select’),
),
2.3:如果class=”CButtonColumn”
array(
‘class’=>’CButtonColumn’,
‘updateButtonUrl’=>’Yii::app()->createUrl(“post/edit”,array(“id”=>$data->id));’,
),
修改updateButtonUrl为编辑贴子
如何用gridview生成一个代搜索的管理列表
1、在Model的rules 设定可以搜索的属性
array(‘title, status, create_time’, ‘safe’, ‘on’=>’search’),
2、在Model中,添加搜索时的方法
public function search()
{
$criteria=new CDbCriteria;
$criteria->compare(‘title’,$this->title,true);
$criteria->compare(‘status’,$this->status);
$criteria->compare(‘create_time’,$this->create_time);
return new CActiveDataProvider(‘Post’, array(
‘criteria’=>$criteria,
‘sort’=>array(
‘defaultOrder’=>’status, update_time DESC’,
),
));
}
3、 在Controler中,写接受搜索用到的表单的值的方法
public function actionAdmin()
{
$model=new Post(‘search’);
if(isset($_GET['Post']))
$model->attributes=$_GET['Post'];
$this->render(‘admin’,array(
‘model’=>$model,
));
}
4、在view中用CGridView显示
设置好
<?php $this->widget(‘zii.widgets.grid.CGridView’, array(
‘dataProvider’=>$model->search(),
‘filter’=>$model,
‘columns’=>array(
),
)); ?>
以上代码大部分是yii自动生成的,只要做少量修改即可
有时候会出现,搜索后页面为空的清况,原因可能是
layout/main.php中
echo $content外层无div,就是说main.php中必须有一个div包含$content
发表评论
-
Yii CDBHttpSession数据库存储session性能优化实战
2011-09-14 20:11 879Yii CDBHttpSession数据库存储session性 ... -
YII CACHE使用示例
2011-08-29 21:58 3929从Boylee那抄过来的.链接中有boylee的博客地址. 我 ... -
Yii CDBHttpSession数据库存储session性能优化实战
2011-08-29 21:36 4169Yii CDBHttpSession数据库存储session性 ... -
通过扩展CWebUser添加信息到Yii:app()->user
2011-08-29 21:21 3499通过扩展CWebUser添加信息到Yii:app()-> ... -
通过扩展 CWebUser 增加信息到 Yii::app()->user
2011-05-25 11:16 7554通过扩展 CWebUser 增加信息到 Yii::app()- ... -
Gridview日期过滤列(filter date column for gridview in Yii framework)
2011-05-23 11:02 5061Gridview日期过滤列(filter da ... -
利用yii framework dropdown 创建级联菜单
2011-05-23 10:57 2355利用yii framework dropdown 创建级联菜单 ... -
如何开发Yii的中文网站
2011-05-23 10:50 5069如何开发Yii的中文网站 首先在配置文件main.php 中 ... -
总结一下隐藏index.php文件的步骤
2011-05-23 10:07 1514总结一下隐藏index.php文件的步骤 1.开启apache ... -
Yii Framework的CPagination用法详解
2011-05-22 17:52 3235Yii Framework的CPagination用法详解 c ... -
YII TIPS
2011-05-22 17:12 1409db组件 'schemaCachingDuration'=&g ... -
yii ajax分页
2011-05-22 16:24 1819我们有时候需要ajax读取数据,并进行分页。首先我们遇到的是如 ... -
yii中widget分页的用法
2011-05-22 16:15 4115yii中widget分页的用法 1首先contr ... -
YII全局函数使用
2011-05-21 08:57 4593由于YII致力于完美的整合第三方库,它并没有定义任何全局函数。 ... -
Yii框架中ActiveRecord使用Relations
2011-05-21 06:55 1985Yii框架中ActiveRecord使用Relations ... -
转:关于yii的relations
2011-05-20 16:53 2538关于yii的relations . ... -
使用GD库生成验证码
2011-05-14 21:19 1141GD库在php 中的另一个重要的应用,是使用GD库生 ... -
smarty插件:在多少分钟前,多少小时前,多少天前。
2011-05-14 21:11 1225smarty插件:在多少分钟前,多少小时前,多少天前。 ... -
yii快速入门与参考
2011-05-04 09:17 5480yii快速入门与参考 ...
相关推荐
本文实例讲述了Yii中CGridView关联表搜索排序方法。分享给大家供大家参考。具体实现方法如下: 在Yii CGridView 关联表搜索排序实现方法有点复杂,今天看了一老外写的了篇游戏,下面我整理一下与各位朋友分享一下,...
主要介绍了Yii CGridView用法,结合实例形式分析了CGridView的功能、用法与相关属性用法,具有一定参考借鉴价值,需要的朋友可以参考下
YII配置详解以及开发规范
linux安装yii2详解,centos下安装yii2
Yii框架详解
NULL 博文链接:https://hudeyong926.iteye.com/blog/1336581
要在订单(Order)视图的gridview中显示出客户(Customer)姓名,并使其具有与其它字段相同的排序和搜索功能。 数据库结构 订单表order含有字段customer_id 与 客户表customer的id字段关联 首先确保在Order Model中...
主要介绍了Yii把CGridView文本框换成下拉框的方法,可修改默认的CGridView文本框功能,进而改善用户体验,是非常实用的技巧,需要的朋友可以参考下
主要介绍了Yii中CGridView禁止列排序的设置方法,讲述了CGridView的功能及通过数组项sortable设置实现禁止排列功能的方法,需要的朋友可以参考下
主要介绍了Yii视图CGridView列表用法,结合实例形式分析了CGridView列表的视图及功能实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
主要介绍了Yii中的relations数据关联查询及统计功能用法,结合实例形式分析了关联查询命名空间及评论统计功能相关技巧,需要的朋友可以参考下
主要介绍了Yii2 ActiveRecord多表关联及多表关联搜索的实现的相关资料,需要的朋友可以参考下
本文对 YII2.0 的多表关联查询做一个简单的介绍。文中通过实例代码介绍的非常详细,下面话不多说,来一起看看详细的介绍: 首先先来说明一下表结构 表结构 现在有订单表、用户表、商品清单表、商品库存表 在YII中...
很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架很好用yii框架
主要介绍了Yii中CGridView实现批量删除的方法,实例分析了CGridView的相关设置,前台JS调用与后台Action具体功能实现的技巧,需要的朋友可以参考下
学习yii Rbac自己总结的经验!因为找过相关资料,很头疼,所以自己总结出来,共大家分享!!