Я создаю таблицу, в которой клиенты могут сортировать записи по своему желанию.Как разместить только одну строку из всей таблицы?
Я уже пытался обернуть всю таблицу GridView в форму, в результате чего при отправке вся таблица получает POST, а не конкретную запись.
Вот GridView:
<?=Html::beginForm(['list-profile/resort'], 'post', ['class' => 'form-inline', 'name' => 'resort-channel-list']);?>
<?=GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'pager' => [
'firstPageLabel' => Yii::t('app', 'First'),
'lastPageLabel' => Yii::t('app', 'Last'),
],
'columns' => [
[
'label'=>'#',
'attribute' => 'channel.sort',
'value' => 'channel.sort',
],
[
'label'=>'Sort No.',
'attribute'=>'no',
'format' => 'raw',
'value'=> function ($data) {
return Html::textInput("sort",$data->no,array("style"=>"width:40px;"));
},
],
[
'label'=>'Action',
'attribute'=>'no',
'format' => 'raw',
'value'=> function ($data) {
return Html::submitButton(Yii::t('app', 'Save'), ['class' => 'btn btn-success']);
},
],
[
'attribute' => 'channel.name',
'format' => 'raw',
'value' => function ($data) {
return Html::a($data->getChannelName($data->channel_id), ['update', 'id' => $data->id, 'name' => Yii::$app->request->get('name')], ['data-pjax' => 0]);
},
],
'create_time',
'update_time',
['class' => 'yii\grid\ActionColumn',
'template' => '{remove} | {save}',
'buttons' => [
'remove' => function ($url, $model, $key) {
return Html::a('<span class="glyphicon glyphicon-remove text-danger"></span>', ['list-profile/index', 'rem_id' => $model->id, 'name' => Yii::$app->request->get('name')], ['title' => Yii::t('app', 'Remove from profile'),
]
);
},
],
'contentOptions' => ['style' => 'min-width: 80px;text-align: center;'],
],
]
]);?>
<?=Html::endForm();?>
Вот изображение, как выглядит таблица:
Изображение таблицы