2008-09-25 41 views
7

Quiero saber cómo crear una tabla donde pueda ajustar el ancho de las columnas. No he descubierto cómo hacer esto. Si conoce la salsa secreta de esta técnica, por favor hágamelo saber.¿Cómo se crea una tabla HTML con columnas ajustables?

+0

Sabe que puede mirar el código fuente de la página en su navegador y le dirá cómo lo hacen, ¿no es así? – Mecki

+1

Aunque podía "mirar debajo del kimono", le pedí a la misión que me explicara la respuesta. – minty

Respuesta

3

Creo que es tan simple como capturar un evento de clic de mouse en un área en el borde de un encabezado de celda, y luego cambiar dinámicamente el ancho de la columna mientras se arrastra el mouse.

+3

Concepto simple, complejo de implementación. –

1

El widget de Yahoo UI (YUI) data table permite cambiar el tamaño de las columnas. Está disponible públicamente, pero todavía en Beta, y la biblioteca de YUI es bastante voluminosa. Cualquier implementación tendrá que estar en JavaScript/DHTML, porque las tablas HTML predeterminadas no tienen ese tipo de capacidades.

3

¿Está buscando el efecto de las perspectivas o está el < -> que aparece para mostrarle que cambie el tamaño de la tabla?

  • Lo que he hecho para esto, es crear un div o una celda que tiene solo un par de píxeles de ancho.
  • Cambio el cursor para que sea una flecha < ->.
  • Al hacer clic sobre el uso de ese control div
  • Al hacer clic sobre el uso de ese control div creo sobre la marcha otro div flotante que muestra dónde lo posicionarán eventualmente.
  • El movimiento está conectado al evento move del mouse en JavaScript.
  • Una vez que suelte el control, reposiciono la altura o el ancho de la celda de la tabla de acuerdo con el lugar donde movieron el nuevo control.
+0

Suena bastante simple. – Vincent

6

No hay una respuesta simple como "usar alguna propiedad foobar html". Esto se hace con javascript y manipulaciones DOM.
Si tiene curiosidad por ver una implementación de esta función con Prototype, puede echar un vistazo al TableKit.
Estoy seguro de que hay implementaciones jQuery por ahí ... Me gusta mi prototipo bueno y viejo;)

3

Flexigrid para jQuery parece bastante dulce.

Actualización: De acuerdo con el comentario de @ Vicente el uso es muy simple ... ver el sitio para más detalles, sin embargo, para el ejemplo más básico - incluye la secuencia de comandos a continuación, conectar la funcionalidad a su mesa:

$('#myTableID').flexigrid(); 

o con opciones:

$('.classOfTables').flexigrid({height:'auto',striped:false}); 
+0

No sé por qué esto no se estableció como la respuesta elegida, o por qué no se votó más, pero esto es realmente útil. ¡Gracias! –

+0

Aunque esta cuadrícula tiene anchos de columna ajustables, no responde la pregunta sobre cómo implementar dicha funcionalidad en una tabla personalizada. – Vincent

+2

Flexgrid parece ser muy poco mantenido en este momento. El sitio web está inactivo, el github no se ha actualizado desde 2014, etc. –

2

Incluir este CSS para hacer la columna de su tabla de anchuras ajustables ...

th {resize:horizontal; overflow:auto;} 
Cuestiones relacionadas