GridView直接更新数据,kartik\grid\EditableColumn用法 [ 2.0 版本 ]

视图的_columns.php文件,这里用到的是crudajax生成的

<?php
use yii\helpers\Url; use common\models\ProductCategory; return [ [ 'class' => 'kartik\grid\SerialColumn', 'width' => '30px', ], [ //'class' => '\kartik\grid\DataColumn', 'attribute' => 'name', 'class' => '\kartik\grid\EditableColumn', ], [ 'class' => '\kartik\grid\DataColumn', 'attribute' => 'category.name', ], [ 'class' => '\kartik\grid\EditableColumn', 'attribute' => 'price', ], 'created_at:datetime', [ 'class' => 'kartik\grid\ActionColumn', 'dropdown' => false, 'vAlign' => 'middle', 'urlCreator' => function ($action, $model, $key, $index) { return Url::to([$action, 'id' => $key]); }, 'header' => Yii::t('app', '操作'), 'viewOptions' => ['role' => 'modal-remote', 'title' => 'View', 'data-toggle' => 'tooltip'], 'updateOptions' => ['role' => 'modal-remote', 'title' => 'Update', 'data-toggle' => 'tooltip'], 'deleteOptions' => ['role' => 'modal-remote', 'title' => 'Delete', 'data-confirm' => false, 'data-method' => false,// for overide yii data api 'data-request-method' => 'post', 'data-toggle' => 'tooltip', 'data-confirm-title' => Yii::t('app', '操作确认'), 'data-confirm-message' => Yii::t('app', '你确定要删除这个选项吗?')], ], ]; 

在控制器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 版本 ]相关推荐

  1. JAVA中的GridView每一个赋值,在ASP.NET 2.0中操作数据之六十二:GridView批量更新数据...

    导言: 在前面的教程,我们对数据访问层进行扩展以支持数据库事务.数据库事务确保一系列的操作要么都成功,要么都失败.本文我们将注意力转到创建一个批更新数据界面. 在本文,我们将创建一个GridView控 ...

  2. 产品更新-镭速Raysync v6.5.8.0版本发布

    镭速版本在近期发布了v6.5.8.0版本,下面我们一起来看下做了哪些更新. 功能一.支持敏感词检测 互联网时代的发展,用户不断产生海量信息,从而也导致了垃圾信息增加,如政治敏感词.违禁词.垃圾广告.色 ...

  3. asp.net gridview 无法更新数据

    参考资料: http://forums.asp.net/p/1015092/3533785.aspx Thanks to Moonshadow's code I solved my problems ...

  4. gitlab更新配置无效_GitMaster 发布 v1.11.0 版本,支持 GitLab 多级分组,Gist支持文件列表...

    Gist支持文件列表 Side Bar 现在GitMaster能在侧边栏展示Gist的文件列表了. 在文件数量较多的情况下,你可以点击文件跳转到文件所在位置. 因为页面权限控制,无法读取到GitHub ...

  5. 如何实现DataGridView实时更新数据【Z】

    原帖:http://bbs.bccn.net/thread-341646-1-1.html 最近一直在研究调度 涉及到用调度实时给客户发送短信的功能 其中就有用到实时更新的显示发送状态的 当然 今天不 ...

  6. Django讲课笔记09:使用QuerySet新增和更新数据

    文章目录 零.本讲学习目标 一.课程导入 二.新课讲授 (一)Shell模式新增数据 1.使用实例化 - 赋值 - save新增数据 2.使用create新增数据 3.使用字典与create新增数据 ...

  7. 仿站小工具8.0_安卓微信8.0版本可以升级了!新增4个实用功能,内附更新方式...

    昨天凌晨微信8.0版本率先在苹果端上线,预示着微信7.0的时代已经过去了. 这次微信8.0的更新,一共更新了4个功能,因为实用.有趣,引发了众多安卓用户的羡慕之情.不要着急,更新方式在这里. 1. 更 ...

  8. 支持飞书国际版,DataEase开源数据可视化分析平台v1.16.0发布

    11月7日,DataEase开源数据可视化分析平台正式发布v1.16.0版本. 在这一版本中,DataEase上线了新的"应用"版块.在"应用"版块中,用户可以 ...

  9. Neo4j图数据科学及2.0版本新功能介绍

    本文转载自DataFunTalk,作者刘洋,Neo4j亚太区高级技术顾问. 导读:本文将探讨Neo4j的图数据科学平台,以及2.0版本的新功能.主要内容包括: Neo4j图数据科学(GDS)的前世今生 ...

最新文章

  1. JZ2440学习总结3
  2. [PAMI2013] Guided Image Filtering 导向滤波器以及OpenCV-Python代码实现
  3. JNDI数据源的配置
  4. 贪心算法-01硬币找零问题
  5. Mysql中int(M)的含义
  6. ubuntu apache2 mysql_折腾 Ubuntu 系统续之安装PHP、Apache2和Mysql
  7. ubuntu学习摘要-ubuntu root用户
  8. testNg 关闭浏览器异常解决办法
  9. 关于time_wait状态的理解
  10. 递归+分治+贪心+动态规划
  11. 基于leaflet地图对行政区进行维诺图区域划分
  12. python假设检验和区间估计_用 Python 实现常用的假设检验
  13. 解决问题:PostgreSQL类型为 json, 但表达式的类型为 character varying
  14. OpenCV 常见问题解决方案
  15. 3.1 学习计算机,从编程入手 ——《逆袭大学》连载
  16. 数据库中冗余数据处理_SQL去重
  17. Spark官网下载速度过慢?试试清华的镜像
  18. MATLAB 2014a将m文件打包成jar包
  19. [LeetCode]Number of Digit One,解题报告
  20. Java Swing 2D俄罗斯方块

热门文章

  1. 得到classpath和当前类的绝对路径的一些方法
  2. VIM 文件编码识别与乱码处理
  3. 学习《css世界》笔记之多行文本实现垂直居中
  4. nunjucks渲染富文本解析错误输出字符串而不是元素
  5. Taro+react开发(97):问答模块04
  6. javascript学习系列(21):数组中的reduceRight法
  7. 前端学习(3290):object.define3
  8. 前端学习(3132):react-hello-react之react中事件处理
  9. 前端学习(2989):vue+element今日头条管理--项目结束
  10. [css] 重置(初始化)css的作用是什么?