Como rolar apenas o lado direito de uma tabela, listview ou datagrid?

Digamos que eu tenha estruturas de dados que sejam assim:

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

E eu quero uma tabela que se pareça com isso:

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

Como eu, no caso geral, colocaria tudo à direita do ID do curso para ser rolável horizontalmente, mantendo o nome do curso e o ID do curso? O ideal é usar uma tabela, listview ou datagrid dentro do ASP.NET e/ou WinForms.

0
adicionado editado
Visualizações: 1

3 Respostas

Aqui está um exemplo usando apenas HTML e CSS para alcançar o que eu acho que você está procurando:

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

0
adicionado
O site vinculado é sinalizado como site de contêiner de malware pelo Google Chrome
adicionado o autor Eduardo Molteni, fonte
Realiza o efeito pretendido. Eu suponho que deveria ter pedido uma resposta mais genérica. Parece que, neste caso, você precisa usar CSS estático para dados estáticos ou gerar isso na hora. Estou realmente preocupado com o caso geral, mesmo que eu tenha um caso específico agora.
adicionado o autor Sam Erwin, fonte
O Firefox também sinaliza isso. E aparentemente o PHP parece quebrado (aberto no Lynx)
adicionado o autor Benjamin Autin, fonte

Na pura .net eu não sei de nada. Existem Soluções CSS para um cabeçalho fixo. Mas uma coluna esquerda à esquerda, na minha experiência, requer alguns recursos 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 é o mecanismo que eu usei para fazê-lo funcionar: Pegue uma tabela normal e separe-a em 4 outras tabelas. Obtenha as larguras de coluna e as alturas de linha para corresponder usando restrições comerciais e vincule o evento onscroll para rolar pelas outras tabelas.

0
adicionado

Você pode obter essa funcionalidade do controle System.Windows.Forms.DataGridView. Quando você cria colunas, pode defini-las como congelados , que então rolarão as colunas para a direita da (s) coluna (s) congelada (s).

0
adicionado
Quaisquer equivalentes do ASP.NET? Basta saber, como parece que esta seria a resposta no WinForms.
adicionado o autor Sam Erwin, fonte
Não tenho certeza de quaisquer controles ASP.Net que fazem isso, mas eu não sei ASP.Net muito bem, então há muito bem pode ser algo para fazer isso.
adicionado o autor akmad, fonte