热门标签 | 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, 表格宽度为列模块宽度之后


推荐阅读
  • 在使用 MUI 框架进行应用开发时,开发者常常会遇到 mui.init() 和 mui.plusReady() 这两个方法。本文将详细解释它们的区别及其在不同开发环境下的应用。 ... [详细]
  • 本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 本文将介绍网易NEC CSS框架的规范及其在实际项目中的应用。通过详细解析其分类和命名规则,探讨如何编写高效、可维护的CSS代码,并分享一些实用的学习心得。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 在给定的数组中,除了一个数字外,其他所有数字都是相同的。任务是找到这个唯一的不同数字。例如,findUniq([1, 1, 1, 2, 1, 1]) 返回 2,findUniq([0, 0, 0.55, 0, 0]) 返回 0.55。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 2023年京东Android面试真题解析与经验分享
    本文由一位拥有6年Android开发经验的工程师撰写,详细解析了京东面试中常见的技术问题。涵盖引用传递、Handler机制、ListView优化、多线程控制及ANR处理等核心知识点。 ... [详细]
  • libsodium 1.0.15 发布:引入重大不兼容更新
    最新发布的 libsodium 1.0.15 版本带来了若干不兼容的变更,其中包括默认密码散列算法的更改和其他重要调整。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
  • 作为一名专业的Web前端工程师,掌握HTML和CSS的命名规范是至关重要的。良好的命名习惯不仅有助于提高代码的可读性和维护性,还能促进团队协作。本文将详细介绍Web前端开发中常用的HTML和CSS命名规范,并提供实用的建议。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 网易严选Java开发面试:MySQL索引深度解析
    本文详细记录了网易严选Java开发岗位的面试经验,特别针对MySQL索引相关的技术问题进行了深入探讨。通过本文,读者可以了解面试官常问的索引问题及其背后的原理。 ... [详细]
  • 自己用过的一些比较有用的css3新属性【HTML】
    web前端|html教程自己用过的一些比较用的css3新属性web前端-html教程css3刚推出不久,虽然大多数的css3属性在很多流行的浏览器中不支持,但我个人觉得还是要尽量开 ... [详细]
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社区 版权所有