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.

War es hilfreich?

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:

scroll top