2014-07-07 1 views
0

모델 또는 매장의 상점에서 전체 양식을 작성할 수 있습니까? 모델과 상점을 정의했지만 양식을 작성하기 위해 모든 필드를 다시 정의하고 싶지는 않습니다.Extjs에서 모델이나 상점에서 양식 요소를 만드는 방법은 무엇입니까?

모델 클래스 또는 상점을 전달하여 양식을 만들 수 있습니까?

+0

그게 뭔가 존재하는지 모르겠지만 그렇지 않다면 쓰지 않는 것이 좋습니다. –

+0

그래,하지만 만약 내가 stackoverflow에 대한 질문을하지 않을 것이라고 쓰는 방법을 알고 있다면 :) 하나를 작성하는 방법을 알고 계십니까? –

+0

가능하다고 확신합니다. 모델/저장소에서 필드를 가져 와서 각각의 양식 필드를 만들고 양식에 추가하십시오. – forgivenson

답변

0

다음은 GridPanel의 열 구성을 기반으로 양식을 렌더링 한 것입니다. 어쩌면 그것은 어디서 시작해야할지 생각 나게 할 수 있습니다.

renderContactFormFields: function (window) { 

    //In my case, the structure is such: Window->FormPanel->BasicForm->FieldSet 
    //So I want to add fields within the fieldset... 
    var fieldSet = window.down('form').down('fieldset'); 

    var fieldSetItem; 

    //'fieldsToRender' is actually the 'columns' property of a GridPanel 
    //that I simply put into a property of the window object to access it later 
    for (var i = 0; i < window.fieldsToRender.length; i++) { 

     var col = window.fieldsToRender[i]; 

     fieldSetItem = { name: col.dataIndex, fieldLabel: col.text }; 
     //A textfield in this case, but you could have rules to change the type of field you want to render... 
     fieldSetItem.xtype = 'textfield'; 
     fieldSet.add(fieldSetItem); 
    } 

    //finally, load the record within the form...(selectedContact is the record that was selected in the GridPanel...) 
    window.down('form').loadRecord(window.selectedContact); 
} 

그래서 당신은이 차례로 GridPanel에 연결되어 상점에 연결되어 모델에서 생성 된 것 말할 수 있습니다.