2016-08-10 3 views
0

Wicket 검도 UI 라이브러리와 함께 Wicket을 사용하고 있습니다.Wendet 마법사에서 Kendo UI 격자가 제대로 작동하지 않습니다.

단계 중 하나에서 검도 눈금이 포함 된 마법사가 있습니다. 이 단계에 도달하면 표가 제대로 표시되지만 다음 단계로 이동 한 다음 돌아 오는 경우 가끔 문제가 발생합니다. 표 데이터가 표에 표시되지 않고 빈 표와 스플래시 화면이 회전하는 것을 볼 수 있습니다. 무한정.

네트워크 검사 테이블과 함께 단계를 표시 할 때 테이블 마크 업과 js가있는 xml을 포함하는 요청과 테이블 행을 포함하는 json 데이터가있는 두 가지 요청이 있다는 것을 알게되었습니다. 두 요청은 성공적으로 완료되지만 어떻게 든 테이블은 두 번째 요청에서 행의 데이터를 가져올 수 없습니다.

이 문제는 매번 발생하지 않으며 때로는 테이블이 데이터를 올바르게 선택합니다.

문제를 파악하려고 시도했습니다. Wicket 마법사는 step 사이를 전환 할 때 MarkupContainer.replace (Component 자식) 메서드를 사용하므로 마법사없이 문제를 재현 할 수 있습니다. 페이지의 표를 다른 것으로 교체 한 다음 다시 바꿔 넣기 만하면됩니다.

누군가가 테이블이 이상한 방식으로 작동하는 이유를 알 수있는 사람이 있습니까? 그것은 새로운 마크 업 종류가 수신 된 데이터 또는 무언가를 넣을 곳을 찾을 수없는 js 코드와의 연결 고리를 잃어 버렸기 때문입니까?

답변

1

그래, 문제가있는 곳을 발견했습니다. 다음 단계를 렌더링 할 때 Wicket 마법사가 이전 단계의 마크 업을 대체합니다. 맞습니까? 그렇게하면 jquery 캐시 ($ .cache)에서 관련된 캐시 된 데이터가 제거됩니다. 검도 그리드가 해당 데이터를 사용하고 이전 단계가 복원되고 그리드가 렌더링되면 해당 데이터를 찾을 수없는 것으로 나타났습니다. 그래서 저의 경우 해결책은 다음 단계로 이동하기 전에 표를 숨기는 것입니다. 그리드가 렌더링되면 캐시 데이터가 다시 채워지고 모든 것이 잘 작동합니다.