Ext-js code

From JCFWiKi

Jump to: navigation, search

[편집] javascrpt파일

[편집] findCode함수

  • 화면이 로딩될 때 코드값을 가져오는 메소드(findCode)를 onReady메소드 안에 넣는다.
  • findCode 메소드에서는 Ext.Ajax.request라는 메소드 사용하여 서버에request를 보낼 url 을 지정한다. 서버로부터 값을 제대로 받아왔는지 확인하기 위해 success 와 failure을 지정해주고 success function 안에는 try /catch 문을 선언한다.
  • alert(r.responseText)을 통해 받아온 JSON 데이터값을 alert창으로 확인한다.
  • cbStore3.loadData 로 cbStore3라는 JsonStore 에 받아온 데이터 중 해당되는 데이터를 담는다.
Ext.onReady(function(){
     findCode();
}
function findCode(){
params = "{"  + "}"
           	
		Ext.Ajax.request({
		    url: '/mdms/deptInfo/findCodes.action',
		   jsonData: params,
		    headers: {
            	'Content-Type': 'application/json'
        	},		               
		    success: function( r, o ) {
		    	alert(r.responseText);	    	
		    	try {
		    		cbStore3.loadData(Ext.decode(r.responseText));
		    	
		    	} catch(e) {
		    	}
	    	},
			failure: function( r, o ) {
			alert("ERR"+r.responseText);
			}
		})
 
}

[편집] JsonStore

  • cbStore3는 findCode에서 받아온 데이터를 저장하기 위한 JsonStore 이다. New Ext.data.JsonStore 로 cbStore3 라는 JsonStore 를 생성한다. root에는 action의 return 값을 fields에는 List로 받은 return 값의 각Object들을 넣는다. '
    //#########################################################################
	/* 
	 * JsonStore 생성
	 */
// ###########################################################################
	var cbStore3 = new Ext.data.JsonStore({
		root:'inspTrgtList',
	    fields: [ 'id', 'name', 'parentId']
	});

7.3.3. ComboBox

  • new Ext.form.ComboBox 로 combo3라는 ComboBox를 생성한다
  • 밑의 예제에 있는 property들 중에 빨간글씨로 지정되어 있는 것들은 모든 ComboBox마다 해당되는 데이터를 바인딩하고, 그 외의 것들은 밑에 예제와 동일하게 지정한다.
/* 
	 * 콤보박스 생성
	 */
var combo3 = new Ext.form.ComboBox({
	    store: cbStore3,
	     displayField:'name',
	     valueField: 'id',
	    typeAhead: true,
	    mode: 'local',
	    triggerAction: 'all',
	    emptyText:'Select a state...',
	    selectOnFocus:true,
	    editable: true,
	    applyTo: 'm_inspTrgtCode'
	});
  • Preperty 설명)
    • Store: 바인딩할 store 지정,
    • displayField : 화면에 보여지는 text 값
    • valueField: 실제 저장되는 value 값
    • Mode: local data를 로당할지 server에서 data를 가져와 로딩할지 여부 (local은 local data를 로드한다는 뜻이고 remote는 server로부터 data를 로드한다는 뜻이다)
    • triggerAction: 이미 선택된 값 외의 코드값도 선택할 수 있게할지 여부( triggerAction을 all이라고 지정하지 않는다면 이미 값이 있거나, 한번 선택된 코드값은 수정할 수 없음)
    • emptyText : combox에 값이 바인딩이 되지 않았을 때 기본으로 보여지는 텍스트
    • selectOnFocus: combox를 클릭했을 때, combox에 바인딩된 데이터를 Focus 할지 여부이다. (True로 설정해놓았으면, combox를 클릭했을 때, combox에 바인딩된 데이터가 파란네모박스 안에 흰글씨로 Focus 됨)
    • Editable: combox 수정여부(ombox에서 선택하기 않고 직접입력이 가능하도록 설정하고 싶다면 true로 지정)
    • applyTo: 실제 바인딩 할 jsp파일의 id