¿Hay alguna manera de agregar clickHandlers (o cualquier tipo de controlador) a los encabezados de las columnas en un CellTable? Quiero agregar algunas funciones de clasificación a mi CellTable y no veo ningún método en las clases Column o Header que lo permitan. Usé la publicación this para descubrir cómo usar la CellTable.GWT 2.1 Cabecera de columna de celda móvil haga clic en eventos
8
A
Respuesta
3
No hay una manera de apoyar la ordenación aún en la Celda. Sin embargo, hay una solución manual que implica una gran cantidad de trabajo pesado de código. Consulte las clases SortableHeader
y SortableColumn
en el cobertizo de bicicletas en la muestra de gastos. Encontrará el uso en com.google.gwt.sample.expenses.gwt.client.ExpenseDetails
. Puedes usar esto hasta que salga algo concreto en la próxima versión.
la salida del directorio: http://google-web-toolkit.googlecode.com/svn/trunk/bikeshed
0
Con la versión final de GWT 2.1, ha habido ningún tipo de apoyo para las columnas que se pueden ordenar añade a la CellTable? ¿O todavía es una buena solución después de mirar el ejemplo de Bikeshed?
8
Solución para eventos de clic:
Header<String> columnHeader = new Header<String>(new ClickableTextCell()) {
@Override
public String getValue() {
return columnName;
}
};
columnHeader.setUpdater(new ValueUpdater<String>() {
@Override
public void update(String value) {
Window.alert("Header clicked!");
}
});
table.addColumn(column, columnHeader);
0
CellTable<Contact> table = new CellTable<Contact>();
// Create name column.
final TextColumn<Contact> nameColumn = new TextColumn<Contact>() {
@Override
public String getValue(Contact contact) {
return contact.name;
}
};
// Create a data provider.
ListDataProvider<Contact> dataProvider = new ListDataProvider<Contact>();
// Connect the table to the data provider.
dataProvider.addDataDisplay(table);
final List<Contact> list = dataProvider.getList();
for (Contact contact : CONTACTS) {
list.add(contact);
}
final ListHandler<Contact> columnSortHandler = new ListHandler<Contact>(
list);
Header<String> columnHeader = new Header<String>(new ClickableTextCell()) {
@Override
public String getValue() {
return "Name";
}
};
columnHeader.setUpdater(new ValueUpdater<String>() {
@Override
public void update(String value) {
if (Window.confirm("Want to do?")){
nameColumn.setSortable(true);
columnSortHandler.setComparator(nameColumn,
new Comparator<Contact>() {
public int compare(Contact o1, Contact o2) {
if (o1 == o2) {
return 0;
}
// Compare the name columns.
if (o1 != null) {
return (o2 != null) ? o1.name.compareTo(o2.name) : 1;
}
return -1;
}
});
} else nameColumn.setSortable(false);
}
});
// Make the name column sortable.
nameColumn.setSortable(false);
// Create address column.
TextColumn<Contact> addressColumn = new TextColumn<Contact>() {
@Override
public String getValue(Contact contact) {
return contact.address;
}
};
// Add the columns.
table.addColumn(nameColumn, columnHeader);
table.addColumn(addressColumn, "Address");
// Add the data to the data provider, which automatically pushes it to the
// widget.
// Add a ColumnSortEvent.ListHandler to connect sorting to the
// java.util.List.
//------------------ Code to add --------------------------------//
VerticalPanel vp = new VerticalPanel();
table.addColumnSortHandler(columnSortHandler);
//------------------ Code end --------------------------------//
// We know that the data is sorted alphabetically by default.
table.getColumnSortList().push(nameColumn);
// Add it to the root panel.
vp.add(table);
RootPanel.get().add(vp);
Cuestiones relacionadas
- 1. TabPage Haga clic en Eventos
- 2. Agregar Evento de doble clic en la celda CellTable - GWT
- 3. GWT CellTable, desactive ButtonCell cuando haga clic en
- 4. jQuery DataTable Móvil desde una fila, haga clic en
- 5. Haga clic en evento en jTable -Java
- 6. jQuery haga clic en el evento celda de la tabla
- 7. GWT: ¿Cuál es la forma de manejar Haga clic en GWT FlowPanel
- 8. GWT 2.1 en UiBinder poner Cell Widgets
- 9. Dirigiendo eventos del mouse [DllImport ("user32.dll")] haga clic en, haga doble clic en
- 10. Una celda GWT con encabezado congelado y columna inicial
- 11. GWT 2.1 ¿Tree o CellTree?
- 12. GWT Cabecera de respuesta RPC
- 13. jQuery: unión y separación en directo Haga clic en Eventos
- 14. GWT CellList Haga clic para alternar la selección (Selección múltiple)
- 15. jQuery en vivo ('clic') de disparo para haga clic con
- 16. Ejemplos para com.google.gwt.app.place de GWT 2.1
- 17. Selección de celda de GWT y un solo clic en CheckBoxCell
- 18. Haga clic en el evento de opción
- 19. llamada de clic() funcionan como mediante programación en GWT
- 20. alineación de celda de fila de cabecera de cuadrícula pulida
- 21. Triple Mouse Haga clic en C#?
- 22. GWT 2.1 y el complemento Codehaus Maven
- 23. Javafx 2 haga clic y haga doble clic
- 24. Javascript haga clic en el elemento
- 25. espere 3 segundos o haga clic en
- 26. WPF ListBoxItem haga doble clic en?
- 27. Haga clic derecho en JButton
- 28. Detección del navegador móvil en GWT
- 29. jquery - desactivar haga clic en
- 30. Celda GWT con selección de casilla de verificación y evento de clic de fila
Parece que el enlace ya no es válida. Prueba este http://code.google.com/p/google-web-toolkit/source/browse/branches/2.1/bikeshed/src/com/google/gwt/sample/expenses/gwt/client/ – stuff22
@ stuff22 respuesta editada. –