¿Cómo desplazar solo el lado derecho de una tabla, vista de lista o cuadrícula de datos?

Digamos que tengo estructuras de datos que son algo como esto:

Public Class AttendenceRecord
  Public CourseDate As Date
  Public StudentsInAttendence As Integer
End Class

Public Class Course
  Public Name As String
  Public CourseID As String
  Public Attendance As List(Of AttendenceRecord)
End Class

Y quiero una mesa que se vea así:

| Course Name | Course ID | [Attendence(0).CourseDate] | [Attendence(1).CourseDate]| ...
| Intro to CS |  CS-1000  |             23             |              24           | ...
| Data Struct |  CS-2103  |             15             |              14           | ...

¿Cómo podría, en el caso general, hacer que todo a la derecha de la ID del curso se pueda desplazar horizontalmente, manteniendo el Nombre del curso y la ID del curso en su lugar? Lo ideal es usar una tabla, lista de lista o cuadrícula de datos dentro de ASP.NET y/o WinForms.

0
agregado editado
Puntos de vista: 1

3 Respuestas

Aquí hay un ejemplo usando solo HTML y CSS para lograr lo que creo que estás buscando:

http : //www.shrutigupta.com/index.php/2005/12/12/how-to-create-table-with-first-column-frozen/

0
agregado
El sitio que enlaza está marcado como sitio contenedor de malware por Google Chrome
agregado el autor Eduardo Molteni, fuente
Logra el efecto deseado. Supongo que debería haber pedido una respuesta más genérica. Parece que, en este caso, necesita usar CSS estático para datos estáticos o generarlo sobre la marcha. Estoy realmente preocupado por el caso general, incluso si solo tengo un caso específico en este momento.
agregado el autor Sam Erwin, fuente
Firefox también lo señala. Y aparentemente el PHP parece roto (abierto en Lynx)
agregado el autor Benjamin Autin, fuente

En .Net puro, no sé nada. Hay CSS Solutions para un encabezado fijo. Pero una columna fija de la izquierda, en mi experiencia, requiere cierta financiación de JavaScript.

Took me a minute to find the old example. Host has since gone down. http://web.archive.org/web/20080215013647/http://www.litotes.demon.co.uk/example_scripts/tableScroll.html

Este es el mecanismo que utilicé para que funcione: tome una tabla normal y sepárela en otras 4 tablas. Haga que los anchos de columna y alturas de fila coincidan utilizando restricciones comerciales, y luego vincule el evento onscroll para desplazar las otras tablas.

0
agregado

Puede obtener esta funcionalidad desde el control System.Windows.Forms.DataGridView. Cuando crea columnas, puede configurarlas para que sean congelado , que luego solo desplazará esas columnas a la derecha de la (s) columna (s) congelada (s).

0
agregado
¿Alguno equivalente de ASP.NET? Solo me pregunto, ya que parece que esta sería la respuesta en WinForms.
agregado el autor Sam Erwin, fuente
No estoy seguro de que los controles de ASP.Net hagan esto, pero no conozco muy bien a ASP.Net, así que muy bien puede haber algo para hacer esto.
agregado el autor akmad, fuente