Ext 에서 Form 로 딩 데이터

5474 단어 xmljsonext
Ext 의 Form 에 데 이 터 를 불 러 오 는 문제 입 니 다.
일반적으로 표 데 이 터 를 조작 할 때 우리 의 일반적인 조작 은 두 가지 로 나 뉜 다.
1. 수정 할 줄 을 선택 하고 해당 하 는 동작 단 추 를 누 르 면 동작 합 니 다.
2. 수정 할 줄 을 더 블 클릭 하고 수정 한 대화 상 자 를 꺼 내 조작 합 니 다.
그래서 문제 가 생 겼 습 니 다. 팝 업 폼 에 수정 해 야 할 데 이 터 를 어떻게 불 러 와 야 합 니까?
해결 방안:
다음은 버튼 과 대응 하 는 동작 입 니 다.

{text:'  2',
handler : function(){
        var item = body.getSelectionModel().getSelected();
        if(!item){
            	Ext.Msg.alert("Please Select The Row");
        }else{
            	myFormWin();
            	loadForm1.form.load({
                	url : 'updateGridAction.action?Name='+item.get('Name'),
                	waitMsg : '      ...',
                	success : function(form,action) {
                    	Ext.example.msg('  ', '    !');
                	},
                	failure : function(form,action) {
                    	Ext.example.msg('  ', '    ');
                	}
            	});
            }
          }}


그리고 대응 하 는 my FormWin 함 수 를 찾 습 니 다.

var loadForm1;
var myFormWin = function() {
if (!loadWindow) {
        loadForm1 = new Ext.FormPanel( {
        // collapsible : true,//       
        //url : 'updateGrid.action',
        //frame : true,
        //title : '  ',
        bodyStyle : 'padding:5px 5px 0',
        width : 350,
        waitMsgTarget : true,
        //       load submit       ,list         ,json     []       
        //reader: new Ext.data.JsonReader({root:'list'},
        reader: new Ext.data.JsonReader({root:'rows'},
[{name: 'Name',mapping:'Name',type:'string'},
                         {name: 'Sex',mapping:'Sex',type:'boolean'},
                         {name: 'Phone',mapping:'Phone',type:'string'},
                         {name: 'Email',mapping:'Email',type:'string'}
                        ]),
        defaults : {
            width : 230
        },
        baseCls: 'x-plain',
        labelWidth: 55,
        defaultType: 'textfield',
        items: [{
            		fieldLabel: 'Name',
            		name: 'Name',
            		anchor:'100%'  
        		},{
            		fieldLabel: 'Sex',
            		name: 'Sex',
            		anchor: '100%'  
        		},{
            		fieldLabel: 'Phone',
            		name: 'Phone',
            		anchor: '100%'  
        		},{
            		fieldLabel: 'Email',
            		name: 'Email',
            		anchor: '100%'  
        	}]
/**
        buttons : [ {
            text : '  ',
            disabled : false,
            handler : function() {
                if (loadForm1.form.isValid()) {
                    loadForm1.form.submit( {
                        url : 'AddLevel.action',
                        success : function(from, action) {
                            Ext.example.msg('    ', '      !');
                            ds.load( {
                                params : {
                                    start : 0,
                                    limit : 30,
                                    forumId : 4
                                }
                            });
                        },
                        failure : function(form, action) {
                            Ext.example.msg('    ', '      !');
                        },
                        waitMsg : '      ,  ...'
                    });
                    dialog.hide();
                } else {
                    Ext.Msg.alert('  ', '        !');
                }
            }
        }, {
            text : '  ',
            handler : function() {
                newFormWin.hide();
            }
        }]*/
    });
            var loadWindow = new Ext.Window({
        		iconCls:'btn-save',
        		title: '    ',
        		width: 500,
        		height:300,
        		minWidth: 300,
        		minHeight: 200,
        		layout: 'fit',
        		plain:true,
       		bodyStyle:'padding:5px;',
        		buttonAlign:'center',
        		items: loadForm1,
        		buttons: [{	text: '  '
        			},{	text: '  '}]
    		});
    		loadWindow.show();
        }
    };


원 리 는 이렇다.
한 줄 을 선 택 했 을 때 수정 단 추 를 누 르 면 선 택 된 줄 의 value 를 가 져 온 다음 함수 로 데 이 터 를 불 러 오 는 Form 을 만 듭 니 다. 이 Form 은 우리 가 제공 하 는 URL 을 통 해 JSON 형식의 데 이 터 를 불 러 옵 니 다. XML 파일 에서 읽 거나 데이터베이스 에서 읽 을 수 있 습 니 다.JSON 의 jar 패 키 지 를 사용 하여 대상 을 JSON 형식의 데이터 로 변환 하 는 것 이 더욱 편리 합 니 다.저장 에 성공 하면 데이터 스토어 를 다시 불 러 옵 니 다.

좋은 웹페이지 즐겨찾기