Como rolar apenas o lado direito de uma tabela, listview ou datagrid?
Pergunta
Vamos dizer que eu tenho estruturas de dados that're algo como isto:
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 é algo como isto:
| 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 poderia, no caso geral, obter tudo à direita do Curso ID ser horizontalmente rolagem, mantendo Curso Nome e ID do Curso no lugar? Idealmente usando uma tabela, listview ou datagrid dentro ASP.NET e / ou WinForms.
Outras dicas
Em pura .Net Eu não sei de nada. Existem soluções CSS para um cabeçalho fixo. Mas uma coluna esquerda fixo, na minha experiência, requer algum finangling javascript.
Levei um minuto para encontrar o exemplo de idade. Anfitrião, desde então ido para baixo. http: // web.archive.org/web/20080215013647/http://www.litotes.demon.co.uk/example_scripts/tableScroll.html
Este é o mecanismo que eu usei para obtê-lo para o trabalho: Tome uma mesa normal, e separá-lo em 4 outras mesas. Obter as larguras de coluna e alturas de linha para corresponder-se com restrições de negócios, em seguida, ligar o evento onscroll para percorrer as outras tabelas.
Aqui está um exemplo usando apenas HTML e CSS para conseguir 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/