2016-09-15 81 views
1

我想在gridview中顯示json格式化數據。我有以下幾點:如何在GridView中顯示json格式化數據

JSON數據:

[{"c_id":1,"c_name":"Marokand","c_logo":"Marokand","c_slogan":"Marokand","c_address":"Tashkent Amir Temur, Uzbekistan","c_website":"www.maroqand.uz","c_email":"[email protected]","c_owner":"someone",},{"c_id":2,"c_name":"Apple LLC","c_logo":"","c_slogan":"","c_address":"","c_website":"","c_email":"","c_owner":""} 

我認爲文件中,我有以下代碼:

<?= GridView::widget([ 
     'dataProvider'=>$dataProvider, 
     'filterModel' => $searchModel, 
     'columns' => [ 
      ['class' => 'yii\grid\SerialColumn'], 

      'c_id', 
      'c_name', 
      'c_logo', 
      'c_slogan', 
      'c_address', 
      // 'c_website', 
      // 'c_email:email', 
      // 'c_owner', 
      // 'c_short_description:ntext', 
      // 'c_description:ntext', 
      // 'c_history:ntext', 
      // 'c_goal:ntext', 
      // 'cci_memerbship_id', 

      ['class' => 'yii\grid\ActionColumn'], 
     ], 
    ]); ?> 

我怎麼能顯示gridview的JSON數據?

+0

您可以通過YII官方得到文檔。 http://www.yiiframework.com/doc/ –

+2

更具體..顯示一個實際的樣本和一個適當的問題.. – scaisEdge

回答

0

使用ArrayDataProvider:Refer Link

在控制文件中的第一解碼JSON數據像這樣和初始化數據提供:

use yii\data\ArrayDataProvider; 
use yii\helpers\Json; 

$data = Json::decode("YOUR JOSN DATA", true); 

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

上圖面:

<?= GridView::widget([ 
    'dataProvider'=>$dataProvider, 
    'filterModel' => $searchModel, 
    'columns' => [ 
     ['class' => 'yii\grid\SerialColumn'], 

     'c_id', 
     'c_name', 
     'c_logo', 
     'c_slogan', 
     'c_address', 
     ['class' => 'yii\grid\ActionColumn'], 
    ], 
]); ?>