如图,就是一个EditorGridPanel 有多行数据 ,点击某一行后,把点击的对应行里面的两个列字段 (公司,人)显示在弹出来的gird里面这个弄好了。现在就是怎么在弹出来的里面 修改后 还要可以点击添加 保存后 把弹出来的里面的数据显示在外面grid里面对应的字段里, 因为在弹出来的里面点击了添加 就会有多个 “公司” ,“人”,在外面就以 “/” 号隔开显示在header: "公司", editor: new Ext.form.TextField里面。
贴出一部分代码 老师们帮忙看看:
外面的grid :
var grid = new Ext.grid.EditorGridPanel({ store: store,//数据来源store columns: [ { id: 'No', header: "文件名称",editor: new Ext.form.TextField({allowBlank: false }),sortable: true, dataIndex: 'fileName'}, //第一列 { header: "公司名称",editor: new Ext.form.TextField({allowBlank: false }), sortable: true, dataIndex: 'ipoName' }, //第二列 { header: "公司", editor: new Ext.form.TextField({ allowBlank: false, listeners: { render: function(p,rowIndex) { var nowElement = p; p.getEl().on("click", function(p) { var record = grid.getSelectionModel(); var arr = []; var gsm = grid.getSelectionModel(); var rows = gsm.getSelections(); if (rows.length > 0) { //当有选择的数据的时候 for (var i = 0; i < rows.length; i++) { //循环迭代所有的选择的row var row = rows[i]; var uwCode = row.get('uwCode'); var selNow = row.get('selNow'); } arr.push(uwCode,selNow); } var arr2=[arr]; store2.loadData(arr2); var win = new Ext.Window({ layout: 'fit', width: 600, height: 400, closeAction: 'hide', modal: true, title: "选择公司", plain: true, items: new Ext.Panel({ frame: true, autoScroll: true, buttonAlign: "center", id: "id", items: [wingrid] }) }); win.show(); }); } } }), sortable: true, dataIndex: 'uwCode' }, { header: "上传用户", sortable: true, dataIndex: 'bjDepId' } , { header: "人", editor: new Ext.form.TextField({ }), sortable: true, dataIndex: 'selNow' } ,
弹出来的grid
var wingrid = new Ext.grid.EditorGridPanel({ autoHeight: true, store: store2, cm: cm, clicksToEdit:1, selModel:smche,//多选可选 tbar: new Ext.Toolbar(['-', { //添加 text: '添加一行', handler: function(){ var _com = Ext.getCmp('a'); var _com2 = Ext.getCmp('b'); if(_com.lastSelectionText==null||_com2.lastSelectionText==null){ return; } var initValue = {name:'',daima:''};//添加的值 var p = new Record(initValue); wingrid.stopEditing(); store2.insert(0, p); wingrid.startEditing(0, 0); p.dirty = true; p.modified = initValue; if(store2.modified.indexOf(p) == -1){ store2.modified.push(p); } } }, '-', { text: '删除几行', handler: function(){ //删除 Ext.Msg.confirm('信息', '确定要删除?', function(btn){ if (btn == 'yes') { var ssm = wingrid.getSelectionModel(); var cell = ssm.getSelections();//获取选中的全部记录,返回一个数组,里面全是record类型 if(cell.length==0){ //是否选择 Ext.MessageBox.alert("提示", "请选择"); }else{ //var record = store.getAt(cell[0]); //store.remove(record); for(var i = 0,len = cell.length;i<len;i++ ){//删除选中 wingrid.store2.remove(cell[i]); } } } }); } },{ text: '保存', handler: function(){ } }, '-']) });
相关推荐
ExtJs2.0.2包 全部,包括演示部分
ExtJS grid过滤操作,可以动态操作本地的store更改筛选的内容
EXT2.0,也就是EXTJS2.0是目前最新的技术产品,很强大的功能和完善、美观的界面,是JavaScript(JS)和JAVA用户开发WEB应用程序想要美化界面必需的插件,现打包完整,下载解压后在编写的代码中相应的调用就可以了!...
这是利用sencha cmd 生成的GridFilterDemo工程中的app和build文件夹,其余文件过大并且与主题无关,因此未包含。具体方法,请参看我的博客: 《Extjs4.2 Grid Filter Feature 表格过滤特性》
extjs2.0.2及eclipse插件spket1.6.23
模仿ExtJS qwikiOffice中右下角的消息提示框
ExtJs Demo100个演示Demo
Ext grid 动态添加字段、列扩展, 如何动态添加或者删除一个grid的列
Extjs 中想改变grid 行高,如果只是简单的设置了height的值是可以实现grid 的行高,但是如果使用了插件:rowexpander ,最出现新的问题。 感兴趣的朋友可以试试的。 此文档可以解决你的烦恼,为了找到资源下载,...
EXTJS4 GRID 表格 分页 编辑 添加判断 颜色判断 分组 等示例
Extjs动态Grid的生成 htm
ExtJS是一个很不错的Ajax框架,可以用来开发带有华丽外观的富客户端应用,使得我们的b/s应用更加具有活力及生命力。ExtJS是一个用javascript编写,与后台技术无关的前端ajax框架。因此,可以把ExtJS用在.Net、Java、...
模仿ExtJS qwikiOffice中右下角的消息提示框
extjs动态表格实例(封装GRID,从STRUTS2读取后台数据 )
extjs动态生成表格,前台+后台extjs动态生成表格,前台+后台extjs动态生成表格,前台+后台extjs动态生成表格,前台+后台extjs动态生成表格,前台+后台extjs动态生成表格,前台+后台
大数据量高性能前端表格grid 动态加载数据 可以做到 一边滚动一边加载新的dom,并同时删除不可见的dom,防止因数据过大引起的dom卡顿
ExtJS 表格的功能实现,包括单元格编辑,数据的获取。
NULL 博文链接:https://iamyida.iteye.com/blog/2190441
ExtJs 4.0 Grid 单元格合并控件封装
extjs的数据传递