php - example - Usar Yii2 GridView con una matriz de datos
yii2 gridview filter (1)
Hay pocos errores en tu código.
1) $arr
debería tener una estructura como esta:
$arr = [
[''ID'' => ''A1'', ''Description'' => ''Item to be sold''],
...
],
2) En los parámetros de render
que aprobó $arr
lugar de $provider
, debería ser:
$this->render(''index'', [''provider'' => $provider]);
3) Se perdió la declaración de return
antes del render
:
return $this->render(''index'', [''provider'' => $provider]);
Además, no recomiendo usar espacios alrededor de la flecha.
4) No especificó ninguna columna en GridView
. Puede agregar ID
y Description
esta manera:
GridView::widget([
''dataProvider'' => $provider,
''columns'' => [
''ID'',
''Description'',
],
]);
5) Y finalmente no haces eco de GridView en la pantalla. Debiera ser:
echo GridView::widget([...]);
o
<?= GridView::widget([...]) ?>
Tengo una matriz:
$arr = [''ID'' => ''A1'', ''Description'' => ''Item to be sold'', ...]
En el controlador:
$provider = new ArrayDataProvider([
''allModels'' => $arr,
//''sort'' =>[''attributes'' => [''ID'', ''Description''],],
''pagination'' => [''pageSize'' => 5]
]);
$this -> render(''index'', [''provider'' => $arr]);
En vista ( index.php
):
GridView::widget([
''dataProvider'' => $provider,
]);
Y no hay resultados en la página. Donde esta mal?