2012-09-05 5 views
2

refreshingView<shirt> (테두리 안에 포함)을 설정하고 새로 고침보기 외부에 새로 고침 뷰를 백업하는 목록에 새 셔츠 객체를 추가하는 ajaxLink가 있습니다. 새로 고침 뷰에는 사용자가 셔츠에 대한 정보를 입력 할 수있는 텍스트 필드와 드롭 다운이 있습니다.전체 새로 고침 뷰를 다시 그리지 않고 refreshingView에 행을 추가합니다.

ajaxLink에서 셔츠를 목록에 추가 한 다음 ajaxLink의 대상에 전체 테두리를 추가하여 테두리를 새로 고칩니다. 문제는 행을 추가하고 정보 (셔츠 색상, 크기, 스타일 등)를 채우고 다른 셔츠를 추가 할 때 발생합니다. 새 셔츠에 대한 또 다른 행이 추가되지만 동시에 첫 번째 셔츠에 대해 입력 된 모든 정보가 손실됩니다.

이전에 입력 한 셔츠의 정보를 유지하는 방법에 대한 아이디어가 있으십니까?

답변

4

새로 고침보기가 각 렌더링 후에 모든 항목 (및 데이터가 포함 된 모델)을 삭제하기 때문에 이전 데이터가 손실됩니다.

당신은 ItemReuseStrategy을 설정할 수 있습니다

refreshingView.setItemReuseStrategy(new ReuseIfModelsEqualStrategy()); 

또 다른, 더 복잡 방법은 새로 추가 된 행을 다시 그려야하는 것입니다. 여기에 대한 답변보기 : Can I add an element to a RepeatingView without refreshing the latter?

관련 문제