标签: cgridview

如何向CGridView添加按钮?

听起来很简单吧?我搜索了高低,我无法找到如何做到这一点.我有一个CGridView:

$dataProvider = new CArrayDataProvider ($auctions);
$this->widget('zii.widgets.grid.CGridView', array(
  'dataProvider'=>$dataProvider,
  'columns'=>array(
    'id::ID',
    'product.title::Title',
    'state::Status',
  ),
));
Run Code Online (Sandbox Code Playgroud)

我想添加第四列,只包含一个简单的按钮,按下时将执行javascript.我试过了:

array(
  'class' => 'CButtonColumn',
),
Run Code Online (Sandbox Code Playgroud)

这只是给我一个错误:

Undefined property: stdClass::$primaryKey
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

yii cgridview cbuttoncolumn

3
推荐指数
2
解决办法
5965
查看次数

firebug显示控制台打印文本的数量

我有一个脚本写如下......

$('#sessions-grid .refreshdata').live('click', function(e) {
         console.log('came in sessions-grid .refreshdata');
      });
Run Code Online (Sandbox Code Playgroud)

我在firbug中的问题是,它显示控制台文本如下,每次我clieck按钮它不再出现而不是计数在那里,它增加..

谁能告诉我这意味着什么?我想因为这个我在尝试在yii cgridview中做一些工作时遇到了问题.

当我按一次时,我认为天气,它进入并保持循环,而不是完成点击和停止,当我再次点击打印相同的增量时.

在此输入图像描述

javascript jquery firebug yii cgridview

3
推荐指数
1
解决办法
496
查看次数

页面加载时CGridview过滤器,在搜索字段中预定义值

我正在使用Yii框架.

我使用以下命令在我的一个cgridview过滤器字段中设置了一个值:

这是我的jQuery为searchfield分配一个值:

$('#gridviewid').find('input[type=text],textarea,select').filter(':visible:first').val('".$_GET['value']."');
Run Code Online (Sandbox Code Playgroud)

在这里我的PHP用于调用cgridview:

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'bills-grid',
'dataProvider'=>$dataProvider,
'filter'=>$model,
'cssFile'=>Yii::app()->baseUrl . '/css/gridview.css',
'pager'=>array(
    'class'=>'AjaxList',
    'maxButtonCount'=>25,
    'header'=>''
),
'columns' => $dialog->columns(),
'template'=>"<div class=\"tools\">".$dialog->link()."&nbsp;&nbsp;&nbsp;".CHtml::link($xcel.'  Export to excel', array('ExcelAll'))."</div><br />{items}{summary}<div class=\"pager-fix\">{pager}</div>",));
Run Code Online (Sandbox Code Playgroud)

该值显示在搜索字段中,我的cgridview正常工作,没有任何问题,但我无法触发cgridview刷新或筛选.有没有人知道在页面加载后使用预定义值触发cgridview的过滤器?

非常感谢任何帮助,如果您需要其他信息,请告诉我.

谢谢.

yii cgridview

2
推荐指数
1
解决办法
1万
查看次数

CGridView - 将自定义函数添加到删除行按钮

默认情况下,删除按钮会将自己分配给此功能:

jQuery('#main-orders-details-grid a.delete').live('click',function() {
    if(!confirm('Are you sure you want to delete this item?')) return false;
    var th=this;
    var afterDelete=function(){};
    $.fn.yiiGridView.update('main-orders-details-grid', {
        type:'POST',
        url:$(this).attr('href'),
        success:function(data) {
            $.fn.yiiGridView.update('main-orders-details-grid');
            afterDelete(th,true,data);
        },
        error:function(XHR) {
            return afterDelete(th,false,XHR);
        }
    });
    return false;
});
Run Code Online (Sandbox Code Playgroud)

有没有办法覆盖此功能并添加用户定义的功能?

我遇到了一些嵌套网格的麻烦 - 当我从子网中删除一行时,它会更新主网格.

jquery yii cgridview

2
推荐指数
1
解决办法
8491
查看次数

Yii CGridView超链接在新标签页中打开

我已将yii CGridview的一列作为超链接.但是在点击它时,它会在同一个标​​签中打开链接地址.如何在新标签中打开链接地址?

array(
    'header'=>'Name',
    'name'  => 'name',
    'value' => 'CHtml::link($data->name, $data->site_url)',
    'type'  => 'raw',
),
Run Code Online (Sandbox Code Playgroud)

php yii cgridview

2
推荐指数
1
解决办法
6258
查看次数

无法在CGridView中为寻呼机设置pageSize - Yii

我试图在CGridView中设置pager的pageSize属性但是徒劳无功.顺便说一下目前共有2个项目,我想只显示1对1页面.谢谢.

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'user-grid',
    'pager' => array(
        'pageSize' => 1,
    ),
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'id',
        'username',
        'email',
        'pass',
        'type',
        'date_entered',
        array(
            'class'=>'CButtonColumn',
        ),
    ),
)); ?>
Run Code Online (Sandbox Code Playgroud)

php yii cgridview

2
推荐指数
1
解决办法
7193
查看次数

如何在Yii中的CGridview中按升序显示序列号,而不需要额外的数据库字段

如何按升序显示序列号

1 Record Abc
2 Record Def
3 Record Xyz
Run Code Online (Sandbox Code Playgroud)

在Yii的CGridview中没有额外的数据库字段?

php yii cgridview

2
推荐指数
1
解决办法
2887
查看次数

CGridView编码了该值

我正在关注这里的文件http://www.yiiframework.com/wiki/278/cgridview-render-customized-complex-datacolumns/

所以我有以下观点

$this->widget('zii.widgets.grid.CGridView', array(
'id'=>'item-table-grid',
'dataProvider'=>$model->search(),
'itemsCssClass'=>'item-table-grid',
'columns'=>array(
    'customer_name',
    array(
        'name'=>'Edit',
        'value'=>array($model, 'editLink'),
    ),
),
));
Run Code Online (Sandbox Code Playgroud)

这是模型中的editLink函数

public function editLink($data, $row) {
    $link = '';
    if ($data->is_draft) {
        $link = '<a href="customer/update/'.$data->id.'">Edit</a>';
    }
    return $link;
}
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是返回值是编码的,所以我得到<a href=...>

有没有办法告诉CGridView不要对值进行编码?

谢谢

php yii cgridview

1
推荐指数
1
解决办法
3833
查看次数

如何为CGridView的每个表行分配唯一的id属性?

我试图为Yii的每个表行分配一个唯一的id CGridView.

最好是$data->id来自数据库表的东西.

我没有成功地id为每个渲染添加属性<tr>.

任何建议都将非常感激.

yii cgridview

1
推荐指数
1
解决办法
7717
查看次数

在Yii中为CGridView实现刷新按钮

我有一个CGridView,我想放一个按钮刷新.

我已经尝试添加AjaxButton但我无法做到.

网格ID是会话网格.

我有一个只有CGridView的局部视图.

我设法让它工作,但它是重复的,原始停留在那里.我错过了什么?

非常感谢!

编辑:选择:

<?php 
Yii::app()->clientScript->registerScript('initRefresh',<<<JS
    $('#update-grid-button').on('click',function(e) {
        e.preventDefault();
        $('#session-grid').yiiGridView('update');
    });
JS
,CClientScript::POS_READY);

  $this->widget('bootstrap.widgets.TbButton', array(
    'label'=>'Actualizar',
    'type'=>'primary',
    'icon'=>'repeat white',
    'htmlOptions'=>array(
      'id'=>'update-grid-button',
      'class'=>'pull-right',
    )
  )); 
?>
Run Code Online (Sandbox Code Playgroud)

yii cgridview

1
推荐指数
1
解决办法
4971
查看次数

Yii:更改CGridView中的默认顺序

我为模型Faq生成了giix crud

控制器:

public function actionAdmin() {
    $model = new Faq('search');
    $model->unsetAttributes();

    if (isset($_GET['Faq']))
        $model->setAttributes($_GET['Faq']);

    $this->render('admin', array(
        'model' => $model,
    ));
}
Run Code Online (Sandbox Code Playgroud)

查看 - 管理员:

<?php $this->widget('zii.widgets.grid.CGridView', array(
    'id' => 'faq-grid',
    'dataProvider' => $model->search(array('order'=>'order ASC')),
    'filter' => $model,
    'columns' => array(
        'order',
        'question',
        'answer',
        array(
            'class' => 'CButtonColumn',
        ),
    ),
)); ?>
Run Code Online (Sandbox Code Playgroud)

我想按字段"秩序"的项目,所以我添加 array('order'=>'order ASC')$model->search();但这并没有改变任何东西.哪里出错?

frameworks yii cgridview

1
推荐指数
2
解决办法
6601
查看次数

如何在yii中显示cgridview中数组的值

我正在使用yii,我想在cgridview中显示数组的结果Cgridview代码说

$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'users-grid',

    'dataProvider'=>$dataProviderObj,
    //'filter'=>$model,
    'columns'=>array(
    'companyName',
        array(
            'header'=>'Products',
            'value'=>'$data->usersproducts',
                ),
Run Code Online (Sandbox Code Playgroud)

现在,usersproducts是维护访问者和产品之间多对多关系的关系名称

一般来说,如果我想从$ data-> usersproducts获取数据, 我会这样做

foreach($data->usersproducts as $record)
{
echo $record->productName;
}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在cgrid视图中获取此数据,因为foreach将无法在CGridView数组中工作?

我知道我可以使用($ this,functionName)并返回结果但我只想在数组中执行此操作.可能吗?如果是的话我怎么能这样做?

php yii cgridview

1
推荐指数
1
解决办法
2991
查看次数

Yii CGridView - 设置默认的afterAjaxUpdate回调

有人知道在CGridView中设置默认函数的可能性,它会在每次AJAX更新后在页面上的所有网格上运行吗?我在许多页面上使用CGridView,我不想分别为每个网格指定这个函数.我需要这个,因为我使用jQuery selectmenu作为我的过滤器下拉列表,并且在AJAX重新加载之后,它们需要再次被初始化.

'afterAjaxUpdate' => "function(id,data){$('select').selectmenu()}";
Run Code Online (Sandbox Code Playgroud)

php ajax yii select-menu cgridview

0
推荐指数
1
解决办法
7327
查看次数