<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'layout'=>"{sorter}\n{pager}\n{summary}\n{items}",
'columns' => [
['class' => 'yii\grid\SerialColumn'],
//.........
['class' => 'yii\grid\ActionColumn'],
],
]);
?>
คือผมลองเรียกใช้ แล้วมันขึ้นแต่ค่าของตัวแปรที่ส่งมา แต่อยากให้ ขึ้นในส่วนของตัว filter ที่ใส่หรับกรองข้อมูลด้วยต้องทำอย่างไรบ้างครับ หรือต้องไป สร้างหรือกำหมด Model ต้องไหน ครับ รูปภาพที่ใส่เป็นตัวอย่างที่มันต้องแสดงหนะครับ แต่ผมเรียกแล้วมันไม่มา
สอบถามเพิ่มเติมครับ ผมเขียนในลักษณะนี้ครับ
ส่วน Controller
public function actionCheckup() {
$sql2 = "SELECT lab_head.vn, lab_head.hn,lab_head.order_date,patient.cid,opdscreen.cc,
lab_head.lab_order_number,patient.fname,patient.lname FROM lab_head
LEFT JOIN opdscreen ON lab_head.vn = opdscreen.vn
LEFT JOIN patient ON opdscreen.hn = patient.hn
where patient.cid = '$test' ";
$data2 = \yii::$app->db->createCommand($sql2)->queryAll();
$y = isset($_REQUEST['year'])?$_REQUEST['year']:date('Y');
$dataProvider2 = new ArrayDataProvider([
'allModels' => $data2
]);
return $this->render('checkup',[
'dataProvider2' => $dataProvider2
]);
}
ส่วน view
<?= GridView::widget([
'dataProvider' => $dataProvider2,
'filterModel' => $searchModel,
'panel' => [
'type'=>'success'
],
'columns' => [
['class' => 'yii\grid\SerialColumn'],
['label'=>'หมายเลขประจำตัวผู้ป่วย HN',
'attribute'=>'hn',
'headerOptions' => ['class'=>'text-center'],
'contentOptions' => ['class'=>'text-center']
],
['label'=>'หมายเลขประจำตัวประชาชน CID',
'attribute'=>'cid',
'headerOptions' => ['class'=>'text-center'],
'contentOptions' => ['class'=>'text-center']
],
['label'=>'วันที่รับการตรวจ',
'attribute'=>'order_date',
'format' => ['date','dd-MM-yyyy'],
'headerOptions' => ['class'=>'text-center'],
'contentOptions' => ['class'=>'text-center']
],
['label'=>'ชื่อ',
'attribute'=>'fname',
'headerOptions' => ['class'=>'text-center'],
'contentOptions' => ['class'=>'text-center']
],
['label'=>'สกุล',
'attribute'=>'lname',
'headerOptions' => ['class'=>'text-center'],
'contentOptions' => ['class'=>'text-center']
],
['label'=>'เหตุผลการรับการตรวจ',
'attribute'=>'cc',
'headerOptions' => ['class'=>'text-center'],
'contentOptions' => ['class'=>'text-center']
],
['label'=>'Lab Order',
'attribute'=>'lab_order_number',
'headerOptions' => ['class'=>'text-center'],
'contentOptions' => ['class'=>'text-center']
],
[
'label'=>'ผลการตรวจ',
'format'=>'raw',
'value' => function($data){
$laborder = $data['lab_order_number'];
$url = "../web/index.php?r=site%2Fview&id=$laborder";
$btn_edit = "<div class='btn btn-success' onclick=\"view('".$laborder."')\">ผลการตรวจ</div>";
return Html::a($btn_edit,$url);
}
]
],
]); ?>
จะส่งค่าหรือว่าเพิ่มคำสั่งส่วนไหนให้สามารถใช้งาน filter ได้ ครับ
ตอบ/อธิบาย