【问题标题】:Linking to items in CGridView/CListView with pagination使用分页链接到 CGridView/CListView 中的项目
【发布时间】:2014-04-28 05:34:55
【问题描述】:

我希望能够链接到 CGridView 或 CListView(或任何带有分页的视图)列出的项目,例如:

CHtml::link('Link to item #123', array('/item/index', 'item_id'=>123));

目标是在 ID 为 123 的项目所在的页面上打开 CGridView/CListView!

这可以通过相当简单的方式实现吗?

【问题讨论】:

    标签: yii


    【解决方案1】:

    是的,可以,这里有一个例子说明你会怎么做:
    例子

    <?php $this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'customer-grid',
    'dataProvider'=>$model->search(),
    'selectionChanged'=>'js:function(id){
     n = $.fn.yiiGridView.getSelection(id);
     if (n>0){
        $.ajax({
                url: "'.Yii::app()->urlManager->createUrl('customer/view/').'",
                type: "GET",
                data: {"id": parseInt(n)},
                dataType: "html",
                success: function(data) {
                $("#customer-div").html(data);
             }
             });',
    
        'filter'=>$model,
        'columns'=>array(
        'id',
        array(
                    'name'  => 'trading_name',
                    'value' => 'CHtml::link($data->trading_name, Yii::app()
                     ->createUrl("customer/view/",array("id"=>$data->primaryKey)))',
                     'type'  => 'raw',
                     'options' => array('ajax' => array('type' => 'get', 'url'=>'js:$(this).attr("href")',
                     'success' => 'js:function(data) { 
                      $("#tab1").html(data);')
                      ),
                 ),
        'email',    
        'site_code',
    
        array(
            'class'=>'CButtonColumn',
        ),
    

    【讨论】:

      猜你喜欢
      • 2011-12-05
      • 1970-01-01
      • 2011-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多