テーブル、リストビュー、またはデータグリッドの右側だけをスクロールするにはどうすればよいですか?
質問
次のようなデータ構造があるとします。
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
そして、次のようなテーブルが必要です。
| Course Name | Course ID | [Attendence(0).CourseDate] | [Attendence(1).CourseDate]| ... | Intro to CS | CS-1000 | 23 | 24 | ... | Data Struct | CS-2103 | 15 | 14 | ...
一般的な場合、コース名とコース ID を保持したまま、コース ID の右側のすべてを水平方向にスクロールできるようにするにはどうすればよいでしょうか?理想的には、ASP.NET や WinForms 内のテーブル、リストビュー、またはデータグリッドを使用します。
解決
この機能は、System.Windows.Forms.DataGridView コントロールから取得できます。列を作成するときに、次のように設定できます。 凍った これにより、凍結された列の右側にある列のみがスクロールされます。
他のヒント
純粋な .Net については何も知りません。がある CSSソリューション 固定ヘッダーの場合。しかし、私の経験では、左の列を固定するには、JavaScript の修正が必要です。
古い例を見つけるのに少し時間がかかりました。その後、ホストがダウンしました。 http://web.archive.org/web/20080215013647/http://www.litotes.demon.co.uk/example_scripts/tableScroll.html
これを機能させるために私が使用したメカニズムは次のとおりです。通常のテーブルを他の 4 つのテーブルに分割します。ビジネス制約を使用して列の幅と行の高さを一致させ、onscroll イベントをリンクして他のテーブルをスクロールします。
以下は、HTML と CSS だけを使用して、あなたが探しているものを実現する例です。
http://www.shrutigupta.com/index.php/2005/12/12/how-to-create-table-with-first-column-frozen/