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
目前还没有答案

相关推荐

Global site tag (gtag.js) - Google Analytics