【问题标题】:How to scroll only the right side of a table, listview, or datagrid?如何只滚动表格、列表视图或数据网格的右侧?
【发布时间】:2010-09-10 22:19:20
【问题描述】:

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

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

我想要一个看起来像这样的表格:

|课程名称 |课程编号 | [出席(0).CourseDate] | [出席(1).CourseDate]| ... | CS 简介 | CS-1000 | 23 | 24 | ... |数据结构 | CS-2103 | 15 | 14 | ...

在一般情况下,我如何使课程 ID 右侧的所有内容都可以水平滚动,同时保持课程名称和课程 ID 不变?理想情况下使用 ASP.NET 和/或 WinForms 中的表格、列表视图或数据网格。

【问题讨论】:

    标签: asp.net .net listview datagrid


    【解决方案1】:

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

    【讨论】:

    • 任何 ASP.NET 等价物?只是想知道,因为看起来这将是 WinForms 中的答案。
    • 不确定是否有任何 ASP.Net 控件可以执行此操作,但我对 ASP.Net 不太了解,因此很可能可以执行此操作。
    【解决方案2】:

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

    我花了一分钟找到旧示例。此后主机已下线。 http://web.archive.org/web/20080215013647/http://www.litotes.demon.co.uk/example_scripts/tableScroll.html

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

    【讨论】:

      【解决方案3】:

      这是一个仅使用 HTML 和 CSS 来实现我认为您正在寻找的示例:

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

      【讨论】:

      • 确实达到了预期的效果。我想我应该要求一个更通用的答案。看起来,在这种情况下,您需要对静态数据使用静态 CSS,或者动态生成。我真的很关心一般情况,即使我现在只有一个具体情况。
      • 您链接的网站被谷歌浏览器标记为恶意软件容器网站
      • Firefox 也会标记它。显然 PHP 似乎坏了(在 Lynx 中打开)
      猜你喜欢
      • 2017-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-08
      • 2012-12-26
      • 1970-01-01
      • 2011-07-26
      • 2023-04-02
      相关资源
      最近更新 更多