博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ext中动态修改grid内容
阅读量:4687 次
发布时间:2019-06-09

本文共 1387 字,大约阅读时间需要 4 分钟。

对于Ext.grid.Panel,在这里不做过多介绍,直面主题,在Ext.grid.Panel的基础上怎样修改成动态列表。

一、首先要定义一下可编辑列:

var cellEditPlugin = Ext.create('Ext.grid.plugin.CellEditing', {

clicksToEdit: 2
});

其中clicksToEdit=1,是单击修改;clicksToEdit=2,是双击修改

二、在Ext.grid.Panel定义中加入plugins: [cellEditPlugin]

var test= Ext.create('Ext.grid.Panel', {

title : 'test',
frame : true,
store : rptEb5sStore,
plugins: [cellEditPlugin]

三、在grid的列中加入editor:{xtype:'textarea'},这样,grid列就可编辑了,textarea是文本框

{

header : 'test',
dataIndex : 'test',
menuDisabled : true,
draggable : false,
editor:{xtype:'textarea'}
}

四、保存到数据库中,我们需要监听,此行数据,因为change事件中,我们无法获得行号,我就多写了一个click,需要声明一个全局变量:hh,整体代码如下:

{

header : 'test',
dataIndex : 'test',
menuDisabled : true,
draggable : false
listeners : {
click : function(field, resource, rowIndex) {
hh=rowIndex;
}
},
editor:{xtype:'textarea',listeners : {
change : function(field, newValue, oldValue) {
var id = Grid.getStore().getAt(hh).id
Ext.Ajax.request({
url : basePath + '/test/test/update.do',
params : {
id : id,
bgyy : newValue
},
success : function(response) {
unMask();
var result = Ext.decode(response.responseText);
if (result.success) {
Ext.Msg.alert('操作提示', '修改成功', function() {
xlGdStore.reload();
});
} else {
Ext.Msg.alert('操作提示', result.msgText);
}
}
});
}
}}
}

五、还有一种直接监测列表行选中的方式:

Grid.on('select', function (grid, record, rowIndex, e) {

alert('213');
});

转载于:https://www.cnblogs.com/Cuimc/p/10070611.html

你可能感兴趣的文章
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同!
查看>>
导入properties时的坑
查看>>
python——网络编程
查看>>
Spark的39个机器学习库
查看>>
Electron学习笔记(一)
查看>>
Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
查看>>
配置NRPE的通讯
查看>>
VS2005编译VTK5.10.1
查看>>
shp系列(一)——利用C++进行shp文件的读(打开)与写(创建)开言
查看>>
总结上海永辉云商高级前端职位面试题集
查看>>
中国计算机学会推荐国际学术会议和期刊目录
查看>>
各种可以远程
查看>>
分治法实现1-N的数字按字典序全排列组合 Java语言
查看>>
匹配两个空格之间的字符。。。
查看>>
CSS 文字溢出 变成省略号 ...
查看>>
Spring事务
查看>>
java编程基础(三)流程控制语句
查看>>
让数据库跑的更快的7个MySQL优化建议
查看>>
jquery 取id模糊查询
查看>>
解决在vue中,自用mask模态框出来后,下层的元素依旧可以滑动的问题
查看>>