【问题标题】:How to pass previous and back element's id in yii grideview?如何在 yii gridview 中传递前一个和后一个元素的 id?
【发布时间】:2015-12-30 04:57:08
【问题描述】:

我正在尝试在 yii1.1 的grideview 中创建一个链接,其中包含它的 id 及其前后元素 id。

array(
    'class' => 'bootstrap.widgets.TbButtonColumn',
    'template' => '{manage}',
    'buttons' => array(
        'manage' => array(
            'label' => 'Manage',
            'icon' => 'th',                            
            'url' => Yii::app()->createUrl(
                "/member/data/manage",
                array("id" => $data->id, "prev" => ???, "post" => ???)
            ),
        ),
    ),
),

这是我想要的输出。

【问题讨论】:

  • 嗯..我还没有找到任何答案。所以我有一些替代选项,要么我必须使用JavaScript 来传递这些ID,要么我必须在所需的视图中运行自定义SQL..
  • 您是否使用 ActiveRecord 作为您的数据库层?你的记录之间有什么逻辑关系吗?当前对象是否以合乎逻辑的方式与过去相关联?下一条记录一样吗?

标签: gridview yii yii-booster


【解决方案1】:

尝试下面的代码,不是很好的解决方案,但应该可以工作

array(
    'class' => 'bootstrap.widgets.TbButtonColumn',
    'template' => '{manage}',
    'buttons' => array(
        'manage' => array(
            'label' => 'Manage',
            'icon' => 'th',                            
            'url' => function ($data, $row, $widget) {
                    $pagination = $widget->grid->dataProvider->getPagination();
                    $widget->grid->dataProvider->setPagination(false);
                    $provider_data = $widget->grid->dataProvider->getData();
                    $widget->grid->dataProvider->setPagination($pagination);
                    return Yii::app()->createUrl(
                        "/member/data/manage",
                        array(
                            "id" => $data->id,
                            "prev" => isset($provider_data[$row - 1]) ? $provider_data[$row - 1]->id : '',
                            "post" => isset($provider_data[$row + 1]) ? $provider_data[$row + 1]->id : ''
                        )
                    );
                },
        ),
    ),
),

【讨论】:

    猜你喜欢
    • 2019-01-16
    • 2023-04-06
    • 2021-04-14
    • 2018-10-21
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-05
    相关资源
    最近更新 更多