나는 사용자가 위 또는 아래로 키를 눌렀을 때 GWT CellTable에서 선택한 행을 싶어. 내 예제에서는 세 개의 열 (ID, 이름, 날짜)이있는 테이블이 있고 click 이벤트를 처리하는 코드를 구현했습니다. 행을 클릭하면 선택한 객체가 나타납니다. 이제 화살표 키를 사용하여 테이블의 행을 위아래로 이동할 때도 동일한 작업을 수행하려고합니다. 모든키를 위아래로 사용하면 GWT CellTable에서 선택된 행을 어떻게 얻을 수 있습니까?
// Create id column.
TextColumn<MyObject> idColumn = new TextColumn<MyObject>()
{
@Override
public String getValue(MyObject obj)
{
return String.valueOf(obj.getId());
}
};
// Create name column.
TextColumn<MyObject> nameColumn = new TextColumn<MyObject>()
{
@Override
public String getValue(MyObject obj)
{
return obj.getName();
}
};
// Create date column.
TextColumn<MyObject> dateColumn = new TextColumn<MyObject>()
{
@Override
public String getValue(MyObject obj)
{
return String.valueOf(obj.getDate());
}
};
// Create the CellTable element and add columns
CellTable<MyObject> table = new CellTable<MyObject>();
table.addColumn(idColumn, "ID");
table.addColumn(nameColumn, "Name");
table.addColumn(dateColumn, "Date");
// Create the selectioModel and the SelectionChangeEvent Handler
NoSelectionModel<MyObject> selectionModelMyObj = new NoSelectionModel<MyObject>();
Handler tableHandler = new SelectionChangeEvent.Handler()
{
@Override
public void onSelectionChange(SelectionChangeEvent event)
{
MyObject clickedObj = selectionModelMyObj.getLastSelectedObject();
Window.alert("Object selected: " + clickedObj);
}
};
// Add the handler to the selection model
selectionModelMyObj.addSelectionChangeHandler(tableHandler);
// Add the selection model to the table
table.setSelectionModel(selectionModelMyObj);
감사 :
이
내 코드입니다.
감사합니다. CellTable의 작동 방식을 알지 못했습니다. NoSelectionModel 대신 SingleSelectionModel을 사용할 것이고, 그것은 내 프로그램에서 더 잘 작동한다. 감사. –