GridView直接更新数据,kartik\grid\EditableColumn用法 [ 2.0 版本 ]
生活随笔
收集整理的這篇文章主要介紹了
GridView直接更新数据,kartik\grid\EditableColumn用法 [ 2.0 版本 ]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
GridView直接更新數據,kartik\grid\EditableColumn用法?[ 2.0 版本 ]
視圖的_columns.php文件,這里用到的是crudajax生成的
在控制器index方法里加上一段
/*** Lists all Product models.* @return mixed */ public function actionIndex() { $searchModel = new ProductSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); if ($this->isAjax && Yii::$app->request->post('hasEditable')) { Yii::$app->response->format = Response::FORMAT_JSON; $model = Product::findOne($this->post['editableKey']); $out = ['output' => '', 'message' => '']; $this->post[$model->formName()] = $this->post[$model->formName()][$this->post['editableIndex']]; if ($model->load($this->post)) { // can save model or do something before saving model if($model->save()) { $output = ''; /*if (isset($this->post[$model->formName()]['price_cny'])) { $output = Yii::$app->formatter->asDecimal($model->price, 2); }*/ $out = ['output' => $output, 'message' => '']; }else{ $out['message'] = $model->getErrors(); } }else{ $out['message'] = $model->getErrors(); } return $out; } return $this->render('index', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, ]); }基中的$this->isAjax和$this->post,是我在基類定義好了的,同學們可以改為自己的
下面是效果圖 ---錯誤 (#8): 服務器內部錯誤。圖片弄不了
如果需要做權限控制之類的,修改提交地址不想直接放在index方法,可以自定義提交地址,加上editableOptions參數即可
[//'class' => '\kartik\grid\DataColumn','class' => '\kartik\grid\EditableColumn','attribute' => 'price', 'editableOptions'=> function ($model, $key, $index) { return [ //'size'=>'sm', 'formOptions' => [ 'method'=>'post', 'action' => ['editable'] ] ]; } ],轉載于:https://www.cnblogs.com/llxpbbs/articles/9343529.html
總結
以上是生活随笔為你收集整理的GridView直接更新数据,kartik\grid\EditableColumn用法 [ 2.0 版本 ]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java异常类层次结构图
- 下一篇: bootstrap.yml与applic