热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在jqGrid中调整shrinkToFit以避免水平滚动条,并解决页面存在垂直滚动条时表格超出父容器的问题

1、下图右侧为表格超出panel部分页面html代码:jggrid-class

1、下图右侧为表格超出panel部分

《jqGrid 如何shrinkToFit出现水平滚动条 及页面有垂直滚动条时表格会超出父容器处理》
页面html代码:


<html>
<head>
<meta charset="UTF-8" />
<title>jggrid-classestitle>
<link rel="stylesheet" href="https://cdn.bootcss.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdn.bootcss.com/font-awesome/4.5.0/css/font-awesome.min.css" />
<link rel="stylesheet" href="https://cdn.bootcss.com/jqueryui/1.11.0/jquery-ui.min.css" />
<link rel="stylesheet" href="https://js.cybozu.cn/jqgrid/v5.3.1/css/ui.jqgrid.css" />
<script src="https://cdn.bootcss.com/jquery/1.11.1/jquery.min.js">script>
<script src="https://js.cybozu.cn/jqgrid/v5.3.1/js/jquery.jqGrid.min.js">script>
<script src="https://js.cybozu.cn/jqgrid/v5.3.1/js/i18n/grid.locale-en.js">script>
head>
<body>
<div class="page-content container" style="margin-top: 30px; height: 500px; overflow-x: hidden; overflow-y:auto">
<div class="page-body">
<div class="panel panel-default" id="panel-orders">
<div class="panel-heading">
<h3 class="panel-title">有垂直滚动条时,表格会超出panel-body处理h3>
div>
<table id="orders">table>
div>
<div class="panel panel-default" id="panel-orders">
<div class="panel-heading">
<h3 class="panel-title">空panelh3>
div>
<div class="panel-body">空paneldiv>
div>
div>
div>
<script type="text/Javascript"> var data = [], rowIds = []; function getBills() { var rowCount = 10; for (var i = 0; i < rowCount; i ++) { data.push({ goods_no: i + 1, goods_name: '零件名称' + rowCount + i, car_type_name: '车型' + rowCount + i, package_name: '包装器具' + rowCount + i, pihao: '20190329' + i, lj_desc: '零件描述,A零件B零件C零件A零件B零件C零件' + i, cx_desc: '车型描述,A车型B车型C车型A车型B车型C车型' + i, }) } $("#orders").jqGrid("clearGridData").jqGrid('setGridParam',{ data: data || []}).trigger('reloadGrid'); } $(function() { $("#orders").jqGrid({ colModel: [ { label: "零件号", name: "goods_no", width: 60}, { label: "零件名称", name: "goods_name", width: 480}, { label: "车型", name: "car_type_name", width: 70}, { label: "批号", name: "pihao", width: 70, }, { label: "零件描述(原生显示)", name: "lj_desc", width: 350}, { label: "零件描述(超出部分省略号)", name: "lj_desc", width: 350}, { label: "车型描述(强制换行)", name: "cx_desc", width: 150}, ], datatype: 'local', rownumbers: true, height: 300, rowNum: 1000, shrinkToFit: false, autowidth: true }); getBills(); }); script>
body>
html>

2、原因分析及解决方案

jqgrid在构建的时候,先确定表格宽度,再设置高度。那么问题来了,确定表格宽度的时候,由于表格没有高度,所以其宽度为没垂直滚动条时的宽度,设置style内联宽度;当其设置高度后,出现滚动条,此时panel由于width:100%,会自动缩小滚动条宽度约18px,而表格由于设置的是width:xxx px,因此宽度不会变,所以表格就超出父容器约18px宽度。
那么如何解决?
表格构建的时候显性设置width属性,如下:

$("#orders").jqGrid({
...
width: 1120, //可以通过js计算
autowidth: false
});

注意:
设置了width的话,autowidth请设置为false或干脆不设置。

3、请留意shrinkToFit参数

当shrinkToFit为false时,表格列宽度为colModel设置宽度;
当shrinkToFit为true时:

表格不会出现水平滚动条;
autowidth = true, 会重新计算列宽
autowidth = false, 表格宽度为列模块宽度之后


推荐阅读
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在Linux系统中配置并启动ActiveMQ
    本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]
  • 在金融和会计领域,准确无误地填写票据和结算凭证至关重要。这些文件不仅是支付结算和现金收付的重要依据,还直接关系到交易的安全性和准确性。本文介绍了一种使用C语言实现小写金额转换为大写金额的方法,确保数据的标准化和规范化。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 本文详细介绍了如何使用Python编写爬虫程序,从豆瓣电影Top250页面抓取电影信息。文章涵盖了从基础的网页请求到处理反爬虫机制,再到多页数据抓取的全过程,并提供了完整的代码示例。 ... [详细]
  • 如何在WPS Office for Mac中调整Word文档的文字排列方向
    本文将详细介绍如何使用最新版WPS Office for Mac调整Word文档中的文字排列方向。通过这些步骤,用户可以轻松更改文本的水平或垂直排列方式,以满足不同的排版需求。 ... [详细]
  • JavaScript中属性节点的类型及应用
    本文深入探讨了JavaScript中属性节点的不同类型及其在实际开发中的应用,帮助开发者更好地理解和处理HTML元素的属性。通过具体的案例和代码示例,我们将详细解析如何操作这些属性节点。 ... [详细]
  • 本文介绍如何在应用程序中使用文本输入框创建密码输入框,并通过设置掩码来隐藏用户输入的内容。我们将详细解释代码实现,并提供专业的补充说明。 ... [详细]
author-avatar
北海盗羽翼800
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有