如何只滚动表格,列表视图或数据网格的右侧?

时间:2008-09-18 20:33:35

标签: asp.net .net listview datagrid

假设我的数据结构类似于:

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中使用table,listview或datagrid。

3 个答案:

答案 0 :(得分:1)

在纯.Net中,我什么都不知道。固定标头有CSS Solutions。但根据我的经验,固定的左栏需要一些javascript finangling。

花了一分钟才找到旧例子。主人已经失败了。 http://web.archive.org/web/20080215013647/http://www.litotes.demon.co.uk/example_scripts/tableScroll.html

这是我用来使其工作的机制:获取普通表,并将其分成4个其他表。使用业务约束获取列宽和行高以匹配,然后链接onscroll事件以滚动其他表。

答案 1 :(得分:1)

您可以从System.Windows.Forms.DataGridView控件获取此功能。创建列时,您可以将它们设置为frozen,然后只将这些列滚动到冻结列的右侧。

答案 2 :(得分:0)

以下是使用HTML和CSS实现我认为您正在寻找的内容的示例:

http://www.shrutigupta.com/index.php/2005/12/12/how-to-create-table-with-first-column-frozen/