2011-09-23 4 views
1

smartgwt api의 Listgrid를 사용하고 있습니다. setShowFilterEditor()을 사용하여 목록 격자에 필터 편집기를 설정했습니다. UI에서는 listgrid 위에 표시되는 필터 편집기를 사용하여 특정 열의 텍스트를 필터링 할 수 있습니다. 이 때까지 모든 것이 잘 작동합니다. 그러나 그 후에 문제가 시작됩니다. 내 ListGridRecord는 ScreenInstanceGridRecord 유형입니다.smartgwt 필터 편집기 문제

내가 방법 clearCriteria를 사용하여 ListGrid에서 ListGridRecord를 얻기 전에 필터 기준을 삭제()을, 나는 데이터베이스 즉, 모든 기록을 저장할 수 있도록. 필터링되지 않은 레코드. getRecordList(), 1000 을 사용하여 listgrid에서 레코드를 가져 오려고하면 첫 번째 반복에서 더미 레코드이 즉시 추가되고 채워진 모든 레코드는 무시됩니다. 여기에 ScreenInstanceGridRecord 유형의 레코드가 필요합니다. 하지만 두 번째 반복에서, 나는 ScreenInstanceGridRecord 유형의 채워진 레코드를 얻고 있습니다. 왜이 문제가 발생하는지. 내가 getRecordList()을 사용하여 ListGrid에서 얻으려고 할 때 첫 번째 반복 자체 ScreenInstanceGridRecord 가져와야합니다. 나는이 별난 것에 대해 전혀 몰라. 당신의 편에서의 도움이 가장 환영받습니다. plss

답변

1

로드 된 레코드 대신 1000 개의 더미 레코드를 얻는다고하면 실제로 레코드가로드되지 않습니다. 이 경우 ListGrid (ListGrid.fetchData()에 대한 docs 참조)에 의해 생성 된 ResultSet은 임시 길이 (기본값은 1000)를 반환하고 레코드 대신 Loading 마커를 반환합니다 (ResultSet.rowIsLoaded() 참조).

DataArrived 이벤트를 사용하면 데이터가로드 된 후에 작업을 수행 할 수 있습니다. ResultSet.lengthIsKnown()에서 데이터가 아직로드되지 않았 음을 알 수있는 방법을 참조하십시오.

+0

감사합니다. @charles. u는 나의 문제를 해결했다. 건배 – ankit