2013-02-13 4 views
0

개체를 추가, 편집하려면 zv 프레임 워크 mvvm 접근 방식을 사용하고 있습니다. 처음에 추가 버튼을 클릭하면 시작 양식이 비어있어 원활하게 실행됩니다. 목록에서 레코드를 편집 한 후 콤보 상자 값을 미리 선택하고 이미 선택된 값을 선택하면 안됩니다. 그렇지 않으면 null이 발생하고 양식을 제출할 수 없습니다. 이는 성공적인 crud operation을 위해 선택된 값을 다시 선택할 수 없다는 것을 의미합니다. 이 글은 다음하고 모든 경우에 대한 내 편집 기능이 잘 작동하고 아무 문제가 없습니다 모든 텍스트 상자와 intbox는 일반적으로zk : 양식 콤보 상자가 비어 있지 않은 새 개체를 추가하려면

작업하는 http://books.zkoss.org/wiki/Small_Talks/2012/February/MVVM_in_ZK6:_Form_Binding

나는 3 개체, NewObject를, selectedObject 및 editObject

ZUL 파일에서 내 양식 조각은

<grid sizedByContent="true" 
             form="@id('ds') 
               @load(vmc.newObject, after='addInvoke') @save(vmc.newObject, before='add') 
               @load(vmc.editObject, after='editInvoke') @save(vmc.editObject, before='edit') 
               @validator('com.example.MyValidator')" 
               > 


<combobox model="@load(ds.unitList)" 
                selectedItem="@bind(ds.abc.unit)" readonly="true" maxlength="50"/> 

내 방법 편집에 대한 미리보기 및 SampleViewModel에서 기능을 추가

012 다음과 같다
@Command("edit") 
    @NotifyChange({ "objectList", "selectedObject", "editObject" }) 
    @Override 
    public void edit() { 
     service.editKpi(editObject); 
     editObject = null; 
    } 

@Command("addInvoke") 
@NotifyChange("newObject") 
@Override 
public void onClickAddButton(){ 

    enableEditMode(false); 
    isNewMode = true; 

    newObject = new AbcDTO(); 



} 
+0

나는 내 자신을 고쳤습니다. 솔루션은 선택된 항목과 함께 콤보 상자의 사용 가치입니다. – vicky

답변

0

나는 내 자신을 고쳤습니다.

솔루션은 콤보 상자의 사용 가치도 selecteditem과 함께 사용합니다.