0
レポートテーブルと列report_id, reference_number
とreport_name
があります。データの一部は同じreference_number
です。表示ボタン付きグリッドビューに表示されます。Yii2は適切な手配でデータを表示しています
私が望むのは、特定の行のビューボタンをクリックすると、その行のデータが表示され、同じものが選択されたreference_number
の行が表示されます。今のところ、私は同じreference_number
のすべてのレコードを表示することができますが、私が欲しいのは、特定の行をクリックすると、上部に表示され、その他の詳細はそのすぐ下に表示されます。
$gridColumns = [
['class' => 'yii\grid\SerialColumn'],
'report_id',
'reference_no',
'subject',
'doc_date',
[
'label' => 'For',
'value' => 'namefor.fullName',
],
[
'label' => 'From',
'value' => 'namefrom.fullName',
],
'drawer_id',
'user_id',
'doc_name',
[
'class' => 'yii\grid\ActionColumn',
],
[
'attribute' => '',
'format' => 'raw',
'value' => function($data)
{
return Html::a('', ['report/download', 'id' => $data->reference_no],['class' => 'fa fa-download']);
}
],
];
echo
// ExportMenu::widget([
// 'dataProvider' => $dataProvider,
// 'columns' => $gridColumns
// ]);
GridView::widget([
'dataProvider'=> $dataProvider,
'filterModel' => $searchModel,
'columns' => $gridColumns,
'responsive'=> true,
'hover'=> true,
'pjax'=> true,
'pjaxSettings'=>[
'neverTimeout'=>true,
]
]);
コントローラ
public function actionIndex()
{
$searchModel = new reportDetailsSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
public function actionView($id)
{
$dataProvider = new ActiveDataProvider([
'query' => reportDetails::find()
->select('reference_no, report_id')
->where(['report_id' => $id]),
'pagination' => [
'pageSize' => 10,
],
]);
return $this->render('view', [
'model' => $this->findModel($id),
'dataProvider' => $dataProvider,
]);
}
であなたのactionDownload?私はyii2の新しいです。ありがとうございます。グリッドコード – Jaypee
私はエラーを受け取りました。 不明なプロパティを設定する:yii \ grid \ DataColumn :: view –
を書いたビューファイル内の – Jaypee