假设我有这样的数据结构:

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/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top