如何在 kartik gridView 中显示数组数据
how to show array data in kartik gridView
这是默认代码
GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
现在我希望网格视图显示数组中的数据。我怎样才能做到这一点 ?这与 gridView 的 dataprovider 属性 有关吗?
只需在 controller/action
中构建合适的数据提供者
在这种情况下,您需要 arrayDataProvider 就像 Yii2 指南中的展示
并渲染例如
use yii\data\ArrayDataProvider;
......
public function actionYourAction()
{
$data = [
['id' => 1, 'name' => 'name 1', ...],
['id' => 2, 'name' => 'name 2', ...],
...
['id' => 100, 'name' => 'name 100', ...],
];
$datProvider = new ArrayDataProvider([
'allModels' => $data,
'pagination' => [
'pageSize' => 10,
],
'sort' => [
'attributes' => ['id', 'name'],
],
]);
return $this->render('yourView', [
'dataProvider' => $dataProvider,
]);
}
这是默认代码
GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
现在我希望网格视图显示数组中的数据。我怎样才能做到这一点 ?这与 gridView 的 dataprovider 属性 有关吗?
只需在 controller/action
中构建合适的数据提供者在这种情况下,您需要 arrayDataProvider 就像 Yii2 指南中的展示
并渲染例如
use yii\data\ArrayDataProvider;
......
public function actionYourAction()
{
$data = [
['id' => 1, 'name' => 'name 1', ...],
['id' => 2, 'name' => 'name 2', ...],
...
['id' => 100, 'name' => 'name 100', ...],
];
$datProvider = new ArrayDataProvider([
'allModels' => $data,
'pagination' => [
'pageSize' => 10,
],
'sort' => [
'attributes' => ['id', 'name'],
],
]);
return $this->render('yourView', [
'dataProvider' => $dataProvider,
]);
}