我在Yii2中的网格视图的Yii2中有一些自定义按钮。我需要将行号添加到按钮数据中。这是我拥有的..。
GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
['class' => 'yii\grid\SerialColumn',
'contentOptions' => ['style' => 'font-size:20px']],
['header' => 'Blue or Red',
'class' => 'yii\grid\ActionColumn',
'template' => '{blue} {red}',
'buttons' => [
'blue' => function ($url, $model, $key) {
return bootstrap\Button::widget([
'label' => 'blue',
'id' => 'blue' . **ROW-NUMBER**,
'options' => [
'class' => 'btn-lg btn-dark votebtn',
'data-vote' => 1,
'data-row' => **ROW-NUMBER**
]
]);
},
'red' => function($url, $model, $key) {
return bootstrap\Button::widget([
'label' => 'red',
'id' => 'red' . **ROW-NUMBER**,
'options' => [
'class' => 'btn-lg btn-dark votebtn',
'data-vote' => -1,
'data-row' => **ROW-NUMBER**
]
]);
}
],
],
],
]);我需要用什么代替行号来获得每个按钮所在的行?
发布于 2021-01-28 07:39:24
假设“行号”是一个有效的模型值,例如id。
如果有模式对象,则使用$model->id。
'buttons' => [
'blue' => function ($url, $model, $key) {
return bootstrap\Button::widget([
'label' => 'blue',
'id' => 'blue' . **ROW-NUMBER**,
'options' => [
'class' => 'btn-lg btn-dark votebtn',
'data-vote' => 1,
'data-row' => $model->id
]
]);
},
'red' => function($url, $model, $key) {
return bootstrap\Button::widget([
'label' => 'red',
'id' => 'red' . **ROW-NUMBER**,
'options' => [
'class' => 'btn-lg btn-dark votebtn',
'data-vote' => -1,
'data-row' => $model->id
]
]);
}
], 或者使用$model‘if’如果您有一个数组
发布于 2021-01-29 07:49:02
可以获得行号,如下所示:
'red' => function($url, $model, $key) use ($dataProvider) {
$pagination = $dataProvider->getPagination();
if ($pagination !== false) {
$rowNumber = $pagination->getOffset() + $key + 1;
} else {
$rowNumber = $key + 1;
}
return bootstrap\Button::widget([
'label' => 'red',
'id' => 'red' . $rowNumber,
'options' => [
'class' => 'btn-lg btn-dark votebtn',
'data-vote' => -1,
'data-row' => $model->id
]
]);
}https://stackoverflow.com/questions/65928145
复制相似问题