0 0

Extjs2.0.2 两个grid表格之间的某个列字段数据怎么相互传递?30



 如图,就是一个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(){
		            
		            }
		             }, '-'])
		           		        
		    });

 

 

 

2014年10月28日 11:08
  • 大小: 18.6 KB
目前还没有答案

相关推荐

    extjs2.0.2包

    ExtJS 2.0.2 是一个经典的JavaScript库,用于构建富互联网应用程序(RIA)。它提供了丰富的组件库、强大的数据绑定机制以及优雅的用户界面。这个包包含了完整的框架,包括所有必要的文件,使得开发者能够充分利用其...

    信息提示小窗口Notification-ExtJS2.0.2(修正版)

    标题中的“信息提示小窗口Notification-ExtJS2.0.2(修正版)”指的是一个基于ExtJS 2.0.2框架的用户界面组件,它主要用于实现类似qwikiOffice中的右下角信息提示功能。这个组件是原版Notification的一个改进版本,...

    ExtJS grid过滤操作

    ExtJS Grid是一个强大的数据展示组件,它允许用户以表格的形式查看和操作大量数据。在实际应用中,数据过滤是常见的需求,以便用户能快速定位到感兴趣的信息。本篇将深入探讨ExtJS Grid的过滤操作,以及如何动态地对...

    extjs2.0.2及eclipse插件spket

    ExtJS和Spket是Web开发中的两个重要工具,它们在构建富互联网应用程序(RIA)时发挥着关键作用。本文将详细介绍这两个技术以及如何在Eclipse环境中结合使用它们。 首先,ExtJS是一个基于JavaScript的开源库,它提供...

    EXTJS 2.0.2

    EXT2.0,也就是EXTJS2.0是目前最新的技术产品,很强大的功能和完善、美观的界面,是JavaScript(JS)和JAVA用户开发WEB应用程序想要美化界面必需的插件,现打包完整,下载解压后在编写的代码中相应的调用就可以了!...

    Extjs4.2 Grid filter Demo 表格过滤实验

    这是利用sencha cmd 生成的GridFilterDemo工程中的app和build文件夹,其余文件过大并且与主题无关,因此未包含。具体方法,请参看我的博客: 《Extjs4.2 Grid Filter Feature 表格过滤特性》

    基于extJs 2.0.2的LGPL协议开源设计源码

    本项目是一款基于extJs 2.0.2框架的开源设计源码,遵循LGPL协议。源码包含1331个文件,涵盖JavaScript、CSS、HTML、PHP、Shell、Python等多种编程语言。项目文件类型丰富,包括684个GIF图像、326个JavaScript文件、...

    extjs-2.0.2-demo-all

    ExtJs Demo100个演示Demo

    ExtJS5学习之Grid与Grid之间的数据拖拽

    在"ExtJS5学习之Grid与Grid之间的数据拖拽"这个主题中,我们将深入探讨如何实现这种交互功能,以及背后的机制和重要知识点。 首先,我们要了解ExtJS的Grid组件。Grid是一种可配置的表格视图,它可以显示大量的结构...

    信息提示小窗口Notification-ExtJS2.0.2

    在给定的资料中,我们关注的是一个名为"信息提示小窗口Notification-ExtJS2.0.2"的项目,它是对ExtJS库的一个扩展,用于创建类似qwikiOffice中右下角的消息提示框。 首先,`ExtJS`是一个强大的JavaScript库,专为...

    extjs表格Grid比较全面的功能

    ExtJS表格Grid是一款强大的JavaScript组件,它在Web应用中用于展示和操作数据,尤其是在复杂的业务逻辑和大量数据处理中表现出色。这篇博客文章主要探讨了ExtJS Grid的全面功能,结合源码分析和实用工具,帮助开发者...

    extjs动态表格实例(封装GRID,从STRUTS2读取后台数据 )

    在这个"extjs动态表格实例"中,我们将探讨如何使用ExtJS封装Grid并从Struts2框架的后台获取数据。 首先,让我们了解ExtJS中的Grid组件。Grid是ExtJS的一个关键组件,它用于展示结构化数据,并支持多种操作,如排序...

    extjs动态生成表格,前台+后台

    动态生成表格是ExtJS中的一个重要功能,它允许开发者根据需求灵活地构造表格结构和数据。 首先,我们需要了解ExtJS中的核心组件之一——GridPanel。GridPanel是一个显示二维数据的组件,通常用于展示大量结构化的...

    ExtJS 使用grid显示数据

    在ExtJS中,Grid Panel是一种数据驱动的组件,它允许开发者以表格的形式展示大量数据,并且支持分页、排序、过滤、编辑等功能。要创建一个Grid,首先需要定义数据模型(Model),它描述了数据的结构,包括字段名和...

    Ext grid 动态添加字段、列扩展

    Ext grid 动态添加字段、列扩展, 如何动态添加或者删除一个grid的列

    extjs grid数据导出excel文件

    这包括将数据转换为二维数组,每一行代表一个Grid记录,每一列对应记录的一个字段。 4. **创建并写入工作簿**:利用SheetJS创建一个新的工作簿对象,然后将转换后的数据添加到新的工作表中。 5. **生成Excel文件**...

    ExtJs表格点击超链接获取行的值

    在ExtJs框架中,我们经常需要在表格(`Ext.grid.Panel`)中显示超链接,并且当用户点击这些超链接时,能够获取到当前行的数据。为了实现这一功能,我们可以使用`renderer`函数对单元格进行自定义渲染。 **代码示例*...

    EXTJS4 表格GRID示例

    EXTJS4 GRID 表格 分页 编辑 添加判断 颜色判断 分组 等示例

    EXTJS Grid总结例子

    EXTJS Grid由多个部分组成,包括Store(数据存储)、Columns(列配置)、View(视图)和Selection Model(选择模型)。Store负责管理数据,Columns定义列的显示和交互,View是用户看到的表格展示,而Selection Model...

    extjs中设置grid默认行高及换行

    Extjs 中想改变grid 行高,如果只是简单的设置了height的值是可以实现grid 的行高,但是如果使用了插件:rowexpander ,最出现新的问题。 感兴趣的朋友可以试试的。 此文档可以解决你的烦恼,为了找到资源下载,...

Global site tag (gtag.js) - Google Analytics