2012-04-17 3 views
1

Listgrid 레코드를 재정렬해야합니다. 나는 다음과 같은 코드를 사용하고 있지만, 때마다 그것이 다음 코드 줄에서 예외가 발생합니다 : - :RecordList 메서드가 작동하지 않습니다.

TransferImgButton upFirst = new TransferImgButton(TransferImgButton.UP_FIRST); 
upFirst.addClickHandler(new ClickHandler() { 
    public void onClick(ClickEvent event) { 
     ListGridRecord selectedRecord = myList2.getSelectedRecord(); 
     if(selectedRecord != null) { 
      int idx = myList2.getRecordIndex(selectedRecord); 
      if(idx > 0) { 
      RecordList rs = myList2.getRecordList(); 
      rs.removeAt(idx); 
      rs.addAt(selectedRecord, 0); 
      } 
     } 
    } 
}); 

rs.removeAt(idx); 

예외 ::

다음
self.removeAt(pos) is not a function 

코드입니다

+0

당신이 ** ListGrid ** 당신을 위해 ** 데이터 소스 **를 사용하고 다음과 같은 시도 할 수 있습니다? – RAS

+0

예 내 listgrid 데이터 원본을 사용하고 있습니다.이 모든 코드를 잘 작동합니다. – Dhruva

+0

나는 내 대답을 특별히 말하지 않는다. 그것은 전반적인 것이 었습니다. –

답변

0

부실 리소스와 비슷합니다. 따라서 테스트하기 전에 GWT 컴파일을 실행하고 브라우저 캐시를 지우라고 제안합니다.

어떤 SmartGwt 버전을 사용하고 있습니까?

야간 빌드 사용 또는 여기에 link입니다. 당신이 ListGrid에 대한 데이터 소스을 사용하는 경우

+0

브라우저 캐시를 지우고 GWT 컴파일을 실행했습니다. 그러나이 문제는이 문제에 속하지 않습니다. 그 방법에 버그가 있으며 올바르게 작동하지 않습니다 (2.4 버전의 smartGWT 사용). 나 자신도 그렇게 할 수있는 다른 방법을 찾았다. – Dhruva

1

@dhruva는, 당신은 데이터 소스ListGrid에서 데이터를 추가하거나 제거 할 수 있음을 사용해야합니다. 개인적으로, 특정 조건이나 상황이 없으면 RecordList에 데이터를 추가하거나 제거하는 것을 선호하지 않습니다.

grid.getDataSource().addData(record); 
grid.getDataSource().removeData(record); 

또는

grid.addData(record); 
grid.removeData(record); 
+0

레코드 배열에서 모든 레코드를 가져온 다음 레코드 순서를 변경하고 Listgrid로 다시 설정합니다. 이렇게하면 listgrid 데이터의 순서가 변경됩니다. – Dhruva

+0

@Dhruva, 당신은 먼저 개체 목록을 재정렬하고 그들을 사용하여 레코드를 만들 수 있습니다. 표의 레코드를 동적으로 재정렬해야하는 경우에도이 방법을 사용하면 문제가 없습니다. – RAS

+0

RAS : 나는 레코드를 대상 레코드와 교환하는 간단한 논리를 적용했습니다. 그래서 복잡성은 덜 일반적이고 너무 일반적입니다. 빠른 응답에 감사드립니다 ... – Dhruva

관련 문제