2012-02-18 3 views
4

extjs 4.0을 사용하여 매우 복잡한 데이터 입력 양식을 설계하고 있습니다. 내 양식에 모델을 바인딩하고 있습니다.Extjs Form에 그리드를 추가하고 데이터를 제출하는 방법은 무엇입니까?

내 모델 안에는 제품 모델을 나타내는 "제품"이라는 속성이 있습니다. 이제는 이러한 제품을 내 양식 패널의 그리드에 표시하려고합니다. 사용자는 그리드에서 제품을 제거하고 양식을 저장할 수 있습니다.

이것을 달성하는 가장 좋은 방법은 무엇입니까?

+0

안녕하세요 Sanjay ... 이걸로 어떤 해결책을 얻었습니까 ?? 비슷한 경우에 양식 (맨 위), 하단에 2 개의 격자가 표시됩니다. 저장하려면 단일 URL을 사용하여 모든 데이터를 전송해야합니다. – aswininayak

답변

0

setValues(), getValues() 개의 양식을 덮어 쓸 수 있습니다. 기본 메서드에 격자 바인딩을 추가하기 만하면됩니다. 참고 - 양식을 확장하여 자신 만의 클래스를 만들 필요가 없습니다. 폼을 선언 할 때 바로이 함수를 덮어 쓸 수 있습니다.

{ 
    xtype: 'form', 
    setValues: function(){} 
} 

희망이 도움이되었습니다.

1

올바르게 이해했다면 1면을 편집 용 폼에로드하고 많은 것을 표시해야하지만 양식 내의 표 형태로해야하는 1 대 다수 개체 연관이 있습니다.

비슷한 디자인에 접근하는 방법은 양식 아래에 격자판을 추가하는 것입니다. 내 경우에는 그리드가 tabpanel에 싸여 있도록 다른 구성 요소가있었습니다. 이 example과 유사 양식 5를 참조하십시오.

이제 격자에 무엇이 들어 있습니까? 자, 예를 들어 많은 객체 (또는 제품)를 나타내는 상점을 추가했습니다. 해당 저장소의 작성기 프록시를 설정하고 roweditor 플러그인을 그리드에 추가했습니다. 최종 결과는 사용자가 관계를 관리하고 부모 개체와 자식 개체의 속성을 모두 한 화면에서 쉽게 편집 할 수있는 방법이었습니다. 나는 많은 상점을위한 자동 동기화 상점을 가지기를 선택했으나하지 않아도됩니다. 그리드에 저장 버튼을 쉽게 추가하거나 상위 버튼의 Save 버튼에 액션을 바인딩 할 수 있습니다.

희망이 당신의 창조적 인 주스가 흐르고있어 :)

관련 문제