2011-10-04 2 views
1

스마트 그리드 2.5 List Grid를 사용 중입니다.Smart Gwt List Grid : 선택한 레코드를 확인하는 방법

getGrid().setSelectionAppearance(SelectionAppearance.CHECKBOX); 
     getGrid().setSelectionType(SelectionStyle.SIMPLE); 

나는 목록 grid.For 공급 데이터가이 방법을 호출하기위한 데이터 소스를 사용하고 있습니다 :

public void setTestData(DataClass[] testData) { 
    setAttribute("testData", testData, true); 
} 

을 나는 간단한 selection.below에 대한 확인란을 사용하고이에 는 코드입니다 내 표는 데이터를 올바르게 렌더링하고 있습니다. 이제 일부 조건에 따라 일부 레코드 (행)를 선택하려고합니다. 행 번호 1과 5를 확인해야한다고 말합니다. 이를 위해

데이터 소스에 데이터를 공급 한 후 나는 확인하기 위해 아래와 같이 코드를 작성 데이터 :

getGrid().selectRecord(1);` 
    getGrid().selectRecord(5); 

그러나 어떤 box.I 내가 실수를하고있는 중이 야 어떤 시점에서지고 있지 않다 확인하는 작업을 확인하고 있지 않습니다 . 데이터 소스를 사용해 보았을 때 똑같은 일을했고 setdata에 의해 그리드를 그리기 위해 데이터를 피드했습니다. 작동하고있었습니다. 도와주세요. 사전에 감사합니다.

+0

레코드를 선택하는 다른 방법도 작동하지 않습니다. –

답변

4

clientOnly DataSource를 포함하여 DataSource를 사용하면 데이터를 가져 오는 것이 비동기이므로 데이터가 아직로드되지 않은 경우 selectRecord() 호출이 발생합니다. 레코드를 선택하기 전에 DataArrived를 기다립니다.

+0

그리드에 대한 데이터가 이미로드되었습니다. 그 후 레코드를 확인하기 위해 조건을 테스트합니다. –

+0

데이터가 브라우저에로드되어 clientOnly DataSource에있을 수 있지만 데이터가 브라우저에 있어도 clientOnly DataSource에서 가져 오는 그리드 작업은 여전히 ​​비동기입니다. 해결 방법은 필요 없으며 DataArrived를 사용하여 데이터가로드 될 때까지 기다려야합니다. –

0

나를 위해 노력하고있는 주위에 한 작품이다 :,

선택 기록을 위해 지금

NTListGridField customCheckBoxField = new NTListGridField("select", "Select", 25); 
     customCheckBoxField.setAlign(Alignment.LEFT); 
     customCheckBoxField.setType(ListGridFieldType.BOOLEAN); 
     customCheckBoxField.setCanFilter(false); 
     customCheckBoxField.setCanEdit(true); 
     customCheckBoxField.setCanToggle(true); 

: 나는 선택의 모양을 제거하고 내 그리드에서 유형을 선택하여 아래와 같이 체크 박스 에 대한 열을했다

record.setAttribute("select", true); 
+0

이것은 필요한 해결 방법이 아니며 위에서 언급 한 문제를 해결하지도 않습니다. 대부분의 경우이 해결 방법은 다른 코드 변경과 동시에 시도되었으므로 실제로 문제가 수정되었습니다. –

관련 문제