具有水平和垂直滚动以及固定标题和固定列宽的 html 表格

发布于 2024-11-25 19:03:57 字数 718 浏览 1 评论 0原文

我有一个 HTML 表格,我想要

  1. 垂直滚动
  2. 水平滚动
  3. 固定标题(不垂直滚动,但水平滚动)
  4. 固定列宽度 - 即
  5. 理想情况下固定表格布局,固定第一列(如冻结窗格)

我的研究表示你不能在纯 CSS 中执行此操作,因为典型的策略是为标题创建一个 header div,然后为表格数据创建另一个 div,然后使用 jQuery/javascript 同步标题/表格数据的滚动。

我尝试了一些插件,实际上深入研究了这两个

http://fixedheadertable.com/

http://www.novasoftware.com/Download/jQuery_FixedTable/JQuery_FixedTable.aspx

但是,这些插件对我不起作用,因为我需要/更喜欢固定列宽而不是自动列宽- 调整大小。

如果有人能解决我的问题或者可以推荐如何修改固定宽度的插件,我将不胜感激!

希望我没有要求太多!

I have an HTML table that I'd like to have

  1. vertical scrolling
  2. horizontal scrolling
  3. fixed headers (that do not vertical scroll, but do horizontal scroll)
  4. fixed column widths - i.e. fixed table layout
  5. ideally, fixed first column (like freeze panes)

My research indicates that you can't do this in pure CSS because the typical strategy is to create a header div for the headings and then another div for the table data, and then use jQuery/javascript to synchronize the scrolling of the header/table data.

I've tried a few plug-ins, and actually did a deep dive into these two

http://fixedheadertable.com/

http://www.novasoftware.com/Download/jQuery_FixedTable/JQuery_FixedTable.aspx

However, these plug-ins don't work for me because I need/prefer to have fixed column widths as opposed to auto-resizing ones.

If anybody has a solution to my problem or can recommend how to modify the plug-ins for fixed width, it would be greatly appreciated!

Hopefully I'm not asking for too much!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

可爱暴击 2024-12-02 19:03:57

我觉得nova jquery的fixedtable还可以,它的特点是:

  • 允许水平和垂直滚动
  • 支持一页上多个具有固定标题和列的HTML表格
  • 固定列的数量可以自定义
  • 鼠标悬停时每行的背景颜色 反正可以定制

,为什么不问他们的开发人员。
http://www.novasoftware.com/contactus.aspx

I think the nova jquery fixedtable is just ok, its Features are:

  • Allow horizontal and vertical scroll
  • Support multiple HTML tables with fixed header and columns on one page
  • The number of fixed columns can be customize
  • The background colors of each row when mouse is over and out can be customized

anyway, why not ask their developers.
http://www.novasoftware.com/contactus.aspx

止于盛夏 2024-12-02 19:03:57

我遇到了同样的问题,并为您的问题提出了一个轻量级的解决方案。我所做的是:
我的问题的解决方案是在 buildFixedTable 中执行此操作:
替换 var th = $(1*).appendTo(target);
使用 var th = $(2*).appendTo(target);

并将 OnRowDataBound="GridView1_RowDataBound" 添加到网格定义中
并为此创建了一个受保护的空处理程序,我在其中设置了列宽度。

瞧!

1* = (lt)table(gt)(lt)/table(gt)
2* = (lt)table(gt)(lt)col style=width:20%(gt)(lt)col style=width:20%(gt)(lt)col style=width:60%(gt)(lt)/table(gt)

其中

lt = Less_than_sign
gt = Greater_than_sign

可能需要对您的实现进行一些测试,但它解决了我的问题......

I was presented with the same problem and came up with a lightweight solution to your problem. What I did was:
The solution for my issue was to do this in buildFixedTable:
Replaced var th = $(1*).appendTo(target);
With var th = $(2*).appendTo(target);

And added OnRowDataBound="GridView1_RowDataBound" to the grid definition
And made a protected void handler for this where I set the column widths.

Voila!

1* = (lt)table(gt)(lt)/table(gt)
2* = (lt)table(gt)(lt)col style=width:20%(gt)(lt)col style=width:20%(gt)(lt)col style=width:60%(gt)(lt)/table(gt)

Where

lt = Less_than_sign
gt = Greater_than_sign

Might require some testing for your implementation, but it solved my issue ...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文