如何在Yii2中删除特定网格视图的摘要和排序器.在Yii1.1中,我们可以通过设置模板属性来实现.在yii2中如何实现这一目标?
我开始使用yiibooster在gridview简单添加上进行就地编辑
$columns[] = array(
'name' => $field->name,
'value' => array($this, 'cellValue'),
'class' => 'bootstrap.widgets.TbJEditableColumn',
'jEditableOptions' => array(
'type' => 'text',
// very important to get the attribute to update on the server!
'submitdata' => array('field_id'=>$field->id),
'width' => '100%',
'placeholder' => Yii::t('sms', 'click for edit'),
)
);
Run Code Online (Sandbox Code Playgroud)
如何以相同的方式编辑表头?
编辑: 我的解决方案.这个对我有用. http://pastebin.com/0NzHMgEr
有些好友请建议如何禁用cgridview小部件上的查看按钮以及如何添加更多按钮,如活动..
$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'customer-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
'id',
'first_name',
'last_name',
'club.club_name',
array(
'class' => 'CButtonColumn',
'updateButtonUrl' =>'Yii::app()->createUrl("/customer/editmember1",array("id" => $data->primaryKey))',
'updateButtonImageUrl'=>Yii::app()->request->baseUrl.'/images/edit.jpg',
'deleteButtonUrl' =>'Yii::app()->createUrl("/customer/delete",array("id" => $data->primaryKey))',
'deleteButtonImageUrl'=>Yii::app()->request->baseUrl.'/images/delete.jpg',
'viewButton' => array('visiable' => false),
),
),
));
Run Code Online (Sandbox Code Playgroud) 我希望删除按钮仅在某些条件下处于活动状态CGgridView CButtonColumn(或制作自定义删除按钮),例如if user=='admin'或status=='draft'.有任何想法吗?谢谢!
我有一个表结构如下:
CREATE TABLE IF NOT EXISTS `CustomValue` (
`id` int(11) NOT NULL,
`customFieldId` int(11) NOT NULL,
`relatedId` int(11) NOT NULL,
`fieldValue` text COLLATE utf8_unicode_ci,
`createdAt` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
CREATE TABLE IF NOT EXISTS `CustomField` (
`id` int(11) NOT NULL,
`customTypeId` int(11) NOT NULL,
`fieldName` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`relatedTable` varchar(64) COLLATE utf8_unicode_ci DEFAULT NULL,
`defaultValue` text COLLATE utf8_unicode_ci,
`sortOrder` int(11) NOT NULL DEFAULT '0',
`enabled` char(1) COLLATE utf8_unicode_ci DEFAULT '1',
`listItemTag` …Run Code Online (Sandbox Code Playgroud) 我有一个简单的CGridView,它来自CActiveDataProvider.目前,我不确定这种情况发生了多长时间,它没有显示启用了pagenation的视图中的所有数据项.
我的标题显示"显示9个结果中的1-7个",但没有更多页面的按钮.如果我将数据提供程序的pagenation属性的pageSize设置为较小的数字,我最终将获得分页按钮,但它似乎在第一页上显示的项目少于第二页.例如,如果我将CActiveDataProvider的pageSize设置为3,我会得到2,2,3(每页上的项目),而不是我预期的3,3,1.
如果我将pageSize设置为9到11之间的任何值,那么有些项目我看不到,因为我只有一页而不是所有项目都显示出来(如果我将pageSize设置为9,则"1-6 of 9").
$criteria=new CDbCriteria;
$criteria->with = array('registrations');
$criteria->addCondition('registrations.id IS NOT NULL');
$criteria->addCondition('registered = false');
$criteria->together = true;
$dataProvider = new CActiveDataProvider('Skier', array('criteria'=>$criteria));
$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$dataProvider,
'columns'=>array(
array('name'=>'fullname', 'header'=>'Name'),
array(
'name'=>'programs_names',
'header'=>'Programs',
'value'=>'$data->programs_names',
),
<More items here>
)
));
Run Code Online (Sandbox Code Playgroud)
任何人都知道什么会导致pagenation如此不稳定?
编辑:此外,将CActiveDataProvider更改为CArrayDataProvider正常工作,我得到9个结果中的9个.这将暂时起作用,因为我有小数据集,但我宁愿弄清楚问题可能是什么.
$dataProvider = new CArrayDataProvider(Skier::model()->findAll($criteria));
Run Code Online (Sandbox Code Playgroud) 问:如何为gridview创建过滤器?
status:customer name = first_name.姓
这是我的网格视图
<?php $this->widget('zii.widgets.grid.CGridView', array(
'id'=>'customer-grid',
'dataProvider'=>$model->search(),
'filter'=>$model,
'columns'=>array(
array(
'header'=>'Customer Name',
'name'=>'$data->first_name',
'value'=>'$data->first_name.\' \'.$data->last_name',
),
'company_name',
'country',
'state',
'city',
'address1',
'phone1',
'email',
array('name' => 'company_id',
'value'=>'$data->companies->name',
'filter'=>CHtml::listData($records, 'id', 'name'),
),
array(
'class'=>'CButtonColumn',
),
),
)); ?>
Run Code Online (Sandbox Code Playgroud) 我有Yii网格视图的问题.由于某种原因它似乎没有正确加载,即使包含脚本(我可以在源代码中看到它).这是HTML的标题部分:
<script src="fileadmin/static/js/jquery-1.8.3.min.js" type="text/javascript"></script>
<script src="/module/public/assets/80c0553/gridview/jquery.yiigridview.js" type="text/javascript"></script>
<script type="text/javascript">jQuery(function($) {
jQuery('#grid-downloads').yiiGridView({'ajaxUpdate':['grid-downloads'],'ajaxVar':'ajax','pagerClass':'pager','loadingClass':'grid-view-loading','filterClass':'filters','tableClass':'def-table','selectableRows':1,'enableHistory':false,'updateSelector':'{page}, {sort}','filterSelector':'{filter}','pageVar':'page'});
});
</script>
Run Code Online (Sandbox Code Playgroud)
我收到错误: TypeError: jQuery(...).yiiGridView is not a function
任何想法可能存在的想法?
这是我想要添加到 CGridView 中的列(它是一个数字范围在 1 到 60 之间的数字输入),但我想将终端代码附加到该输入的 id 中。在此代码中,一切正常,但终端代码未附加 id。
array(
'header' => 'Validity',
'name' => 'validity',
'value' => function(){ return '<input type="number" id="tentacles".$data["terminalcode"] name="tentacles" min="1" max="60">';},
'type' => 'raw'
)
Run Code Online (Sandbox Code Playgroud) 我在YII中有一些使用CGridView的表.我希望能够输入所有过滤数据,然后单击某个按钮,然后才向服务器发送请求.现在每次过滤值更改时都会发送请求.是否有任何本机Yii CGridView选项来指定?
cgridview ×10
yii ×9
php ×6
gridview ×3
filter ×1
javascript ×1
jquery ×1
mysql ×1
pagination ×1
visible ×1
yii-booster ×1
yii1.x ×1
yii2 ×1