Extjs4的grid列中加上操作的按钮,点击没有选择该行的处理方法
来源:互联网 发布:制冷设计软件 编辑:程序博客网 时间:2024/05/30 04:29
在grid设置中,如果按照以下代码来编写:
{xtype:'actioncolumn', align:'center',altText:'删除',tooltip:'删除',iconCls:'delete', handler:function(){ Ext.Msg.confirm("警告","是否真的要删除",function(btn){ if (btn == 'yes'){ var row = roomgridpanel.getSelectionModel().getSelection(); console.log(row[0]); } }); }}
设置一个删除功能,点击该行图标,控制台会有undefined的显示,随便点击一行,也就是选中了该行,再点击,控制台会有显示了,可是显示的数据并不一定是你点击图标所在的那一行,而是先前点击选中的那一行!这样就起不到对该行进行操作的目的了!
解决方法就是改成如下代码:
{ xtype:'actioncolumn', align:'center',text:'操作', items:[ { altText:'删除',tooltip:'删除', icon:'public/images/delete.png', handler:function(view,row,col,item,e){ var record = view.getStore().getAt(row); console.log(record.raw); } } ]}
点击图标的同时也选中了对该行的操作!
下一步就是从中取出该行id,传到后台进行删除或者什么其他操作都可以了!
更具体的代码:
{ xtype:'actioncolumn', align:'center',text:'操作',//iconCls:'delete', items:[ { altText:'删除',tooltip:'删除', icon:'public/images/delete.png', handler:function(view,row,col,item,e){ Ext.Msg.confirm("警告","是否真的要删除",function(btn){ if (btn == 'yes'){ var record = view.getStore().getAt(row); var roid = record.raw.roid; Ext.Ajax.request({ method:'post', params:{roid:roid}, url:'room/delete', success: function (result) { var jsonString = Ext.JSON.decode(result.responseText); Ext.Msg.alert('成功', jsonString.msg); //删除后刷新 roomStore.remove(record); //roomStore.load({params:{start:0,limit:15}}); }, failure: function (result) { var jsonString = Ext.JSON.decode(result.responseText); Ext.Msg.alert('失败', jsonString.msg); } }); } }); } } ]}
删除后,可以重载一下Store,以更新表格数据,但是这样要向后台数据库发送一次请求,给服务器造成不必要的负担,实在没有这个必要,用remove方法(roomStore.remove(record))就可以了,反正数据都已经删了,remove掉,和重载差不多,不好的是如果没有删除成功,remove后再刷新,数据又回来了,别人还以为真的删除了呢!给个提示应该就好!
0 0
- Extjs4的grid列中加上操作的按钮,点击没有选择该行的处理方法
- Extjs4中grid的增删改操作
- Extjs4 grid 行添加按钮(button)的方法
- Extjs4 中点击grid获取单元格cell的columnIndex序号
- Extjs4中使用grid的reconfigure()方法动态改变列使用示例(代码)
- Extjs4 grid动态获取列的实现
- GridView的模版列中加入按钮,触发按钮事件后,获取该行的某个值
- ExtJS4 grid添加按钮列
- Extjs4 grid的排序
- C#-gridview中选择一行时取得该行的第一列字段
- GridView的模版列中加入按钮,触发按钮事件后,如何获取该行的某个值?
- GridView的模版列中加入按钮,触发按钮事件后,如何获取该行的某个值?
- extjs4.0中 grid的详细应用
- Extjs4的Grid中rownumberer倒序排序
- 在listview的底部加上一个点击更多刷新的按钮(但是没有实现点击刷新listview)
- EXTJS4.x以上的版本中没有dolayout这个方法
- 关于Ext.grid.CheckboxSelectionModel点击事件时无法获得当前选择列的数据值
- 获取table中该行某列的值
- Tomcat配置数据源
- UI -- 去除掉屏幕上所有的UIAlertView
- poj3614 Sunscreen 【优先队列】
- 程序设计实习MOOC/第十三周编程作业/D:滑雪
- 一道笔试题目
- Extjs4的grid列中加上操作的按钮,点击没有选择该行的处理方法
- 初学51单片机几个不易掌握的概念
- Configure IP Address and DNS from Command Line
- Blogger建立Blog部落格 - Blog透视镜
- 成为Java GC专家(5):Java应用性能调优的原则
- Redhat6.3+oracle11G 安装维护
- jsplitpane无法调整大小
- java二维码生成
- MS SQL Server分析数据库的I/O性能