我想打印包含总共 360 个结果的 CGridview 页面,每页有 10 个结果我需要在同一页面中的一个按钮,将当前 10 页的结果打印为 pdf?
问题是我不知道如何访问相应的页面。假设我在结果为 250 到 260 的页面中。页面中的按钮应仅将当前页面打印为 pdf。
我想打印包含总共 360 个结果的 CGridview 页面,每页有 10 个结果我需要在同一页面中的一个按钮,将当前 10 页的结果打印为 pdf?
问题是我不知道如何访问相应的页面。假设我在结果为 250 到 260 的页面中。页面中的按钮应仅将当前页面打印为 pdf。
不确定最佳方法,因为它是通过 ajax 更新的,我认为没有任何迹象表明您可以获取页码以在链接中使用。
我不知道它是否适用于您的情况,但一种解决方法可能是使用 javascript 来检测哪些分页列表项应用了“选定”类?
Yii::app()->clientScript->registerScript('grabPageNo', "
$('#getPageNum').on('click', function(event){
var pageNumber = $('.yiiPager > .selected > a').html();
alert('page is: '+pageNumber);
});
");
echo CHtml::button('get page number',array('id'=>'getPageNum'));
如果您使用所有默认 CGridView 选项,则单击上述代码中的按钮应该会为您提供当前页码。然后,您可以将其附加到 URL 或类似内容,具体取决于您使用按钮的方式。
编辑
实际上,这里有一些有趣的阅读:如何在 GridView 中返回当前页面?其中建议使用扩展名。并且也在这个问题的答案中:Get the absolute row number in a grid