как получить значение ячейки в таблице ячеек с помощью GWT - PullRequest
3 голосов
/ 22 марта 2012

использую GWT 2.4, Hibernate и MysQL Я создал таблицу ячеек, когда я щелкаю по ячейке, я хочу отобразить данные / значение в этой конкретной ячейке

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 23 марта 2012
@override
public Widget onInitialize(){

    CellTable grid = new CellTable<Bean>();
    grid.setWidth("100%",true);

    setColumns(grid);
}

private void setColumns(CellTable grid){

     Column<Bean, String> firstNameColumn = new Column<Bean, String>(
        new EditTextCell()) {
      @Override
      public String getValue(Bean object) {
        return object.getFirstName();
      }
    };
    firstNameColumn.setSortable(true);
    grid.addColumn(firstNameColumn, "First Name");

    Column<Bean, String> imageColumn = new Column<Bean, String>(
        new ClikableTextCell()) {
      @Override
      public String getValue(Bean object) {
        return "clickhere";
      }
    };
    imageColumn.setSortable(true);
    grid.addColumn(imageColumn, "Add Information");
    firstNameColumn.setFieldUpdater(new FieldUpdater<Bean, String>() {
      public void update(int index, Bean object, String value) {
        Window.alert("You clicked " + object.getFullName());
      }
    });
    cellTable.setColumnWidth(firstNameColumn, 20, Unit.PCT);
}
0 голосов
/ 22 марта 2012

Используйте DataProvider и SingleSelectionModel для вас cellTable:

private final ListDataProvider<SomeClass> dataProvider = new ListDataProvider<SomeClass>();

private final SingleSelectionModel<SomeClass> selectionModel = new SingleSelectionModel<SomeClass>();
//then
table.setSelectionModel(selectionModel);    
dataProvider.addDataDisplay(table);  

Вот как вы можете получить информацию о выбранных объектах:

        showDataValueOfCellBtn.addClickHandler(new ClickHandler() {     
        @Override
        public void onClick(ClickEvent event) {
            SomeClass selected = selectionModel.getSelectedObject();
            Window.alert (selected.getValue());
        }
    });  
...