Добрый вечер.
Приблизительно так
return $this->redirect(['index', '#' => 'custom-order-form']);
Переведёт на страницу index, к
<div id="custom-order-form">
P.S.
Для строки задаём параметр id, в котором будет содержаться id записи в базе. Пусть это будет столбец "id" в таблице GridView, хотя так параметр можно задать для любой ячейки.
[
'attribute' => 'id',
'headerOptions' => ['class' => 'head-id-column'],
'contentOptions' => function($model){
return ['id' => 'test-' . $model->id];
}
],
Далее, в контроллере прописываем redirect с нужным параметром.
return $this->redirect(['index', '#' => 'test-' . $id]);
Всё, "якорь" готов.
P.S.S
Или. Не делать 'contentOptions', а сделать 'rowOptions'.
GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'rowOptions' => function($model){
return ['id' => 'test-' . $model->id];
},
'columns' => [
// остальной код
],
]);