2008-09-18 24 views
2

比方说,我有数据结构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 

而且我希望有一个表,看起来是这样的:

 
| 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中使用表,列表视图或数据网格。

回答

1

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

1

纯净的.net我什么都不知道。有一个固定的标头有CSS Solutions。但是根据我的经验,一个固定的左列需要一些javascript拼图。

花了我一分钟找到旧的例子。主持人自此倒闭。 http://web.archive.org/web/20080215013647/http://www.litotes.demon.co.uk/example_scripts/tableScroll.html

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

0

这里是只使用HTML和CSS来实现你要找我认为为例:

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

+0

它确实达到了预期的效果。 我想我应该问一个更通用的答案。看起来,在这种情况下,您需要为静态数据使用静态CSS,或者动态生成。即使我现在只有一个具体的案例,我对这个一般情况非常担忧。 – 2008-09-18 20:54:38

+0

您链接的网站被Google Chrome标记为恶意软件容器网站 – 2008-10-08 12:53:18