Wie nur die rechte Seite eines Tisches, Listenansicht oder Datenraster blättern?
Frage
Lassen Sie uns sagen, ich habe Datenstrukturen so etwas wie dieses that're:
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
Und ich möchte eine Tabelle, die etwa wie folgt aussieht:
| Course Name | Course ID | [Attendence(0).CourseDate] | [Attendence(1).CourseDate]| ... | Intro to CS | CS-1000 | 23 | 24 | ... | Data Struct | CS-2103 | 15 | 14 | ...
Wie würde ich, im allgemeinen Fall, alles rechts von Kurs-ID erhält horizontal scrollable zu sein, während Kursnamen Halte und Kurs-ID vorhanden? Im Idealfall eine Tabelle, Listenansicht verwenden oder Datenraster innerhalb ASP.NET und / oder WinForms.
Lösung
Sie können diese Funktionalität von der System.Windows.Forms.DataGridView Kontrolle bekommen. Wenn Sie Spalten erstellen können Sie sie so eingestellt, dass gefroren die dann nur die Spalten rechts von der gefrorenen Spalte bewegen (s).
Andere Tipps
In der reinen .Net weiß ich nicht von irgendetwas. Es gibt CSS-Lösungen für einen festen Header . Aber eine feste linke Spalte, in meiner Erfahrung erfordert einige Javascript finangling.
dauerte eine Minute, um das alte Beispiel zu finden. Host hat nach unten seit gegangen. http: // web.archive.org/web/20080215013647/http://www.litotes.demon.co.uk/example_scripts/tableScroll.html
Dies ist der Mechanismus ich verwendet, um es an die Arbeit: eine normale Tabelle nehmen, und sie trennen sich in 4 anderen Tabellen. Holen Sie sich die Spaltenbreiten und Zeilenhöhen passen geschäftlichen Einschränkungen verwenden, und dann verbinden die onscroll Ereignis, um die anderen Tabellen zu scrollen.
Hier ist ein Beispiel mit nur HTML und CSS zu erreichen, was ich denke, Sie suchen: