2010-11-01 12 views
6

Necesito congelar la primera columna y la primera fila de datos en una CellTable, para que los usuarios puedan desplazarse por los datos pero aún puedan ver las etiquetas en los "ejes". La primera columna debe desplazarse cuando el usuario se desplaza hacia arriba y hacia abajo, y la fila del encabezado debe desplazarse cuando el usuario se desplaza hacia la izquierda y hacia la derecha. Piense en "Congelar paneles" en Excel.Una celda GWT con encabezado congelado y columna inicial

Estoy usando GWT 2.1 y estoy dispuesto a escribir mi propio widget para hacer esto si no existen soluciones. Mi pregunta es de dos partes:

  1. ¿Algún widget ya tiene este comportamiento?
  2. ¿Alguna sugerencia si voy a implementar esto por mi cuenta?

¡Gracias!

Respuesta

5

Implementé una solución yo mismo. Check out http://larkolicio.us/ScrollTable/ExperimentTables.html

Es un panel de diseño con tres paneles absolutos dentro de él. Las columnas congeladas son una CellTable, la parte principal es una CellTable y el encabezado es una Grilla. ¡No pude encontrar la manera de establecer el ancho de una columna de CellTable! Un ScrollHandler vincula la parte principal a las dos partes congeladas. Hay un poco de retraso, agradecería que alguien pudiera encontrar una manera de deshacerse del retraso entre las secciones.

Lo tengo trabajando hasta el punto de poder usarlo y detenerlo. No es un widget de propósito general. Por favor, siéntase libre de usarlo bajo su propio riesgo.

0

Esta implementación es bastante buena. Acabo de probarlo. Sin embargo, necesita algunos cambios para admitir la carga asíncrona. GWT Issue 188 que cubre una solicitud similar de mejora se creó en octubre de 2006 ?!

Gracias por compartir.

+0

He estado usando esta implementación durante un par de meses y me he frustrado cada vez más con los problemas de tamaño. Terminé especificando una altura y un ancho constantes para las celdas internas, lo que lo hace mucho más estable. –

Cuestiones relacionadas