作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我包含 Kartik yii2 ExportMenu 插件,它对于所有数据导出都工作良好,但现在我只想导出在网格上检查的选定行。
<?php
$gridColumns = [
['class' => 'yii\grid\SerialColumn'],
'username',
'email',
[
'label' => Yii::t('app','User Access'),
'value' => function($model){
if($model->access_level == 1) { return 'Read/Write/Import/Export'; }
if($model->access_level == 2) { return 'Read/Write'; }
if($model->access_level == 3) { return 'Read'; }
}
],
'fullname',
// [
// 'label' => Yii::t('app','Status'),
// 'value' => function($model){
// if($model->status == 10) { return 'Active'; }
// if($model->status == 0) { return 'Inactive'; }
// }
// ],
[
'attribute' => 'created_at',
'format' => ['date' , 'php:d/m/Y'],
'label' => Yii::t('app','Created On'),
'headerOptions' => ['style' => 'width:12%;'],
],
[
'attribute' => 'updated_at',
'format' => ['date' , 'php:d/m/Y'],
'label' => Yii::t('app','Modified On'),
'headerOptions' => ['style' => 'width:12%;'],
],
// 'updated_by',
[
'attribute' => 'updated_by',
'label' => Yii::t('app','Modified By'),
'headerOptions' => ['style' => 'width:12%;'],
'value' => 'user.username',
// 'value' => function($model){
// return $model->user->username;
// }
],
// ['class' => 'yii\grid\ActionColumn'],
];
echo ExportMenu::widget([
'dataProvider' => $dataProvider,
'columns' => $gridColumns,
'target' => ExportMenu::TARGET_BLANK,
'showConfirmAlert' => false,
'filename' => 'Users',
'dropdownOptions' => [
'label' => 'Export',
'class' => 'btn btn-info',
'export' => true,
'toolbar'=>[
'{export}',
'{toggleData}'
]
],
'exportConfig'=>[
ExportMenu::FORMAT_HTML=>false,
ExportMenu::FORMAT_TEXT=>false,
ExportMenu::FORMAT_PDF=>false,
ExportMenu::FORMAT_EXCEL=>false,
],
]);?>
谁能帮我导出仅检查过的数据。如果您需要任何其他信息相关代码,请询问。谢谢。
最佳答案
使用此参数将一列添加到您的列配置中:
[
'class' => 'kartik\grid\CheckboxColumn',
'headerOptions' => ['class' => 'kartik-sheet-style'],
],
之后您需要编写自己的代码来过滤数据提供程序以仅返回导出菜单中选定的行。因此,您的 GridView 数据提供程序和导出菜单数据提供程序将变得不同,您需要通过 GridView 的选定行来控制导出菜单数据提供程序。
要在 JS 中获取 GriView 的选定行,您可以这样做:
var keys = $('#grid').yiiGridView('getSelectedRows');
// keys is an array consisting of the keys associated with the selected rows
欲了解更多信息,请访问:Data widgets Yii2
关于javascript - YII2 Kartik - ExportMenu 仅导出选中项目的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47647214/
我包含 Kartik yii2 ExportMenu 插件,它对于所有数据导出都工作良好,但现在我只想导出在网格上检查的选定行。 'yii\grid\SerialColumn'], 'u
我在我的网格中使用扩展名 yii2-export将数据导出到 XLS 和 XLSX。无论我尝试什么,Excel 都不会自动识别日期。我试过了,例如以下列格式: 'mydate', // yyyy-m
在一页中,我们正在加载 amcharts4 map 图表、折线图和饼图以及大量数据。 当页面 map 图表的加载未正确加载并且在浏览器控制台中时,它会抛出一堆控制台错误。 这里的错误 zone.js:
我是一名优秀的程序员,十分优秀!