Как определить пользовательскую метку в gridview, заполненную ArrayDataProvider?

Я получаю некоторые данные с помощью веб-службы в формате JSON и хочу отображать их с помощью gridview. Я использую ArrayDataProvider для отправки данных в сетку с помощью этого кода:

$dataProvider = new ArrayDataProvider([
'allModels' => $data,
'pagination' => [
'pageSize' => 10,
],
'sort' => [
'attributes' => ['fname', 'lname', 'age', 'email'],
],
]);

Как я могу изменить метку столбцов в сетке?
Например, имя, а не имя?

Спасибо.

0

Решение

Я нашел ответ для этого URL https://github.com/yiisoft/yii2/issues/11490

Добавьте новое свойство ArrayDataProvider :: modelClass, чтобы вручную указать, какую модель ArrayDataProvider следует использовать для создания меток столбцов. Это изменение позволит ArrayDataProvider правильно генерировать метки столбцов с помощью метода Model :: getAttributeLabel (), если предоставленный массив данных пуст.

0

Другие решения

В gridview вы можете изменить атрибут метки

  <?= GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
[
'label' => 'First Name',
'attribute' => 'fname',
],
]);

http://www.yiiframework.com/doc-2.0/yii-grid-datacolumn.html

http://www.yiiframework.com/doc-2.0/yii-grid-datacolumn.html#$ Пометки подробно

0