首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >最初呈现的表头宽度不正确,如果单击其中一个Th,就会自动修复。

最初呈现的表头宽度不正确,如果单击其中一个Th,就会自动修复。
EN

Stack Overflow用户
提问于 2013-12-31 05:28:05
回答 1查看 151关注 0票数 0

我读过很多关于这方面的东西,但我想找点运气!

问题:

我正在使用数据表来实现对表的排序。在UI中,我有四个选项卡,每个选项卡都有一个表。现在,在我使用"sScrollY“属性之前,一切都很好。一旦我设置了一些值,默认情况下,我的“头”的宽度将从100%更改为100 my。(表中“tbody”部分的呈现方式与此相同。)如果我点击其中的一个,导致表重绘调用(FnDraw)内部,适当调整头的宽度。

请帮我把这个处理掉。

我尝试过的解决办法:

  • 设置表-布局:固定;我已将这种样式应用于我的所有表
  • 在“sScrollY”的情况下,将溢出自动设置为包装'thead‘的包装器div;尝试了这一点,并进行了工作
  • 在单击选项卡时调用fnDraw;尝试使用fn DrawCallback来确认是否调用了绘图方法,但它必须纠正头的对齐。
  • 调用fnColumnResizing();这只是我把它放在window.resize()中的工作,然后手动调整窗口的大小。
  • 在输入数据时设置sWidth属性;这种能力也是有效的!

代码:

我用于init数据存储的代码是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
oTable = $('#dataTableId').dataTable( {
        "sDom": "t",
        "sScrollY": getDivHeight(), //getDivHeight() returns a string val eg. 300px
        "bPaginate": false,
        "bDeferRender": true,
        "asStripeClasses": ['test', 'test'],
        "bAutoWidth": false,
        "aaSorting": [[0,'desc']], 
        "aoColumnDefs": [
                         { "bSortable": true,"aTargets": [ 0 ]},
                         { "bSortable": true,"aTargets": [ 1 ]},
                         { "bSortable": true,"aTargets": [ 2 ]},
                         { "bSortable": false,"aTargets": [ 4 ]},
                         { "bSortable": true,"aTargets": [ 4 ]},
                         { "bSortable": false,"aTargets": [ 5 ]}
                       ],
         "aoColumns": [null,null,null,{ "iDataSort": 4 },null,null,null]
    } );

感谢和快乐的编码!

EN

回答 1

Stack Overflow用户

发布于 2013-12-31 16:17:41

设置sScrollY属性时,调用以下函数(sY = sScrollY)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
     * Adjust a table's width to take account of scrolling
     *  @param {object} oSettings dataTables settings object
     *  @param {node} n table node
     *  @memberof DataTable#oApi
     */
    function _fnScrollingWidthAdjust ( oSettings, n )
    {
        if ( oSettings.oScroll.sX === "" && oSettings.oScroll.sY !== "" )
        {
            /* When y-scrolling only, we want to remove the width of the scroll bar so the table
             * + scroll bar will fit into the area avaialble.
             */
            var iOrigWidth = $(n).width();
            n.style.width = _fnStringToCss( $(n).outerWidth()-oSettings.oScroll.iBarWidth );
        }
        else if ( oSettings.oScroll.sX !== "" )
        {
            /* When x-scrolling both ways, fix the table at it's current size, without adjusting */
            n.style.width = _fnStringToCss( $(n).outerWidth() );
        }
    }

我怀疑.width()outerWidth()没有按预期工作,原因如下:

  1. 在触发$(window).load事件之前调用函数。解决这一问题的方法是将函数封装在$(window).load()中,而不是$(document).ready()中。
  2. 您提到了有几个表的选项卡。如果这只发生在最初隐藏的制表符中的表上,这是因为一些宽度命令不适用于隐藏元素(display: none)。参见下面的示例http://jsfiddle.net/XLET8/

经典的解决方案是将元素放置在屏幕上,检查宽度,然后隐藏它并将其放回屏幕上。(您可能会在一个命令中找到一个jquery插件。)

或者,您可以在打开选项卡时初始化datatable。--或者用一个按钮手动加载它。(我不认为fnDraw调用上面显示的函数--因此原始的-不正确的宽度仍将加载在datatable配置中)

编辑

我刚刚看到了此链接,它描述了如何处理选项卡中的数据。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20858140

复制
相关文章
TDesign 更新周报(2022年4月第1周)
详情见:https://github.com/Tencent/tdesign-vue/releases/tag/0.40.1
TDesign
2022/04/06
2.4K0
【Java 进阶篇】HTML表格标签详解
HTML(Hypertext Markup Language)表格标签是在网页中用于创建表格的重要工具。表格是一种在网页上以行和列的方式组织和显示数据的有效方式。在本文中,我们将详细介绍HTML表格标签,包括如何创建表格、定义表头、单元格合并等内容。这篇文章适用于初学者,将帮助你理解如何使用HTML创建各种类型的表格。
繁依Fanyi
2023/10/12
4040
【Java 进阶篇】HTML表格标签详解
DIV的宽度自动适应功能
利用       #center{          background-color:#cccccc;          border:2px solid #333333;          height:300px;          margin-left:104px;          margin-right:104px;          margin-top:0px;       }  可以实现DIV的自动调整宽度功能。 例外:   当设定了body的宽度和高度后,DIV就无法用margin
用户1075292
2018/01/23
1.7K0
5.HTML表格列表标签元素介绍
本章将主要给各位看友介绍表格 table 与列表 list 中常用的标签元素属性,本节标签一览如下所示:
全栈工程师修炼指南
2023/03/21
1.6K0
5.HTML表格列表标签元素介绍
关于thymeleaf th:replace th:include th:insert 的区别
关于thymeleaf th:replace th:include th:insert 的区别     th:insert   :保留自己的主标签,保留th:fragment的主标签。     th:replace :不要自己的主标签,保留th:fragment的主标签。     th:include :保留自己的主标签,不要th:fragment的主标签。(官方3.0后不推荐)
ydymz
2018/09/10
1.3K0
TDesign 更新周报(2022年11月第2周)
详情见:https://github.com/Tencent/tdesign-vue/releases/tag/0.49.4
TDesign
2022/11/10
1.5K0
HTML 使用 table 布局的一些记录
这学期终于有了前端课,虽然基本全会了,但终归是野路子出家,有很多东西还是第一次见到的。 比如本篇要扯的 table 布局
Cesirdy
2023/05/29
8180
bootstrap的table插件动态加载表头【表头】。
bootstrap的table属性已经很熟悉了,最近遇到一个问题,犹豫每个列表加载的数据需求不同,所以需要动态的更换表头。 网上有很多加载表格数据的例子,但是却没有找到如何动态加载表格,再加在数据。 虽然可以一个表格加载一种数据,但是本着学习的态度尝试了下这种方式,结果发现是可以执行的。分享下思路和实现过程,以备日后使用。
hotqin888
2019/05/14
4.2K0
bootstrap的table插件动态加载表头【表头】。
WPF是什么_wpf documentviewer
项目中要用到一个数据分页栏,虽然自己没有实现过,但凭经验感觉它和ListBox/ListView有关。于是去网上搜了下WPF 数据分页栏,果然很多实现都用到了ListView。于是拣了一种比较简单的实现学习,其中包含下面代码:
全栈程序员站长
2022/09/28
4.7K0
WPF是什么_wpf documentviewer
TDesign 更新周报(2022 年 4 月第 4 周)
详情见:https://github.com/Tencent/tdesign-vue/releases/tag/0.41.0
TDesign
2022/04/25
2.3K0
利用easyui实现增删改查(一):列表的展示
就是将数据库一张表的数据以列表的形式展现在前段。那么就需要在后端将数据库数据查询出来,转化为json格式,返回给前段。
一写代码就开心
2020/11/19
1.1K0
利用easyui实现增删改查(一):列表的展示
JqGridView 1.0.0.0发布
前几个月,客户要求显示列表做到列锁定+表头锁定+列组合,但从Extjs到Jquery EasyUi,从Jquery Grid到Telerik等等组件,发现无一符合条件,要么只能用列锁定,要么只能用列组合,当两者结合就不行了。于是只好开始自己琢磨了,然后就有了jqGridView。
雪雁-心莱科技
2018/12/27
6780
LayUI之旅-数据表格
layui的数据表格是使用频率非常高的组件,在入门篇,我们已经大致了了解了数据表格的方法级渲染,接下来我们深入研究和学习layui-table组件的使用方法。
Yiiven
2022/12/15
4.5K0
HTML的行元素和块元素
本博客所有文章如无特别注明均为原创。作者:十月梦想 ,复制或转载请以超链接形式注明转自 十月梦想博客 。 原文地址《HTML的行元素和块元素》
十月梦想
2018/08/29
3.3K0
【Java 进阶篇】HTML块级元素详解
HTML(Hypertext Markup Language)是用于创建网页的标记语言。在HTML中,元素被分为块级元素和内联元素两种主要类型。块级元素通常用于构建网页的结构,而内联元素则嵌套在块级元素内,用于添加文本和其他内容。本文将重点介绍HTML的块级元素,包括其定义、常见块级元素和示例代码。
繁依Fanyi
2023/10/12
4560
【Java 进阶篇】HTML块级元素详解
TDesign 更新周报(2022年7月第3周)
详情见:https://github.com/Tencent/tdesign-vue/releases/tag/0.44.0
TDesign
2022/07/19
2.8K0
(续)很久很久以前学的,16个HTML笔记
超链接分为外部链接、内部链接、文本链接、图片链接、下载链接、空链接、电子邮件链接等。
Lemon黄
2019/10/22
2.8K0
(续)很久很久以前学的,16个HTML笔记
js拖动(一个完整的案例呈现)
//在进行拖放操作的时候,dataTransfer对象可以用来保存被拖动的数据 //name与size为它内置的属性.
贵哥的编程之路
2020/10/30
2.4K0
js拖动(一个完整的案例呈现)
初识HTML
coders
2018/01/04
1.8K0
初识HTML
Bootstrap table使用心得---thead与td无法对齐的问题
当使用工具条中的显示/隐藏列的时候, 经常出现表格的列头与内容无法对齐的问题。 网上搜到两种处理方法,如下: 1. 去掉option中的height,完美对齐,但当数据较多的时候,table会自动增加height,显示所有数据而不显示滚动条。 2. 注释掉如下两行 //this.resetHeader(); //padding += this.$header.outerHeight();    完美对齐,但会导致无法冻结表头。 这两种结果都是鱼与熊掌不可兼得, 被影响的功能也是非常想要的,让小罗我很郁闷。
FlyLolo
2018/05/17
2.6K0

相似问题

如何修复宽度不固定的表格的表头?

10

如果表头<th>不存在,则将第一个子<tr><td>移动为<th>

11

如果我将固定宽度更改为“自动”,动画就会失真。

12

如果其中没有图像,块就会消失。

49

避免多行"<th>“中断中的表头

27
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文