col width 在 jqgrid 中使用,在 chrome 中完美工作,但在 mozilla 33.0 版本中不起作用

2024-02-16

我在 jqgrid 中使用以下内容,它在 jqgrid 中运行良好,但在 mozilla 33.0 中没有显示 chrome 中显示的内容。

<script type="text/javascript" src="js/viewTestReq.js"></script>   
<script type="text/javascript" src="../js/popup/popup.js"></script>
<script type="text/javascript"
        src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script type="text/javascript"
        src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/jquery-ui.min.js"></script>
<script type="text/javascript"
        src="http://www.ok-soft-gmbh.com/jqGrid/jquery.jqGrid-4.6.0/plugins/ui.multiselect-fixed.js"></script>
<script type="text/javascript"
        src="http://www.ok-soft-gmbh.com/jqGrid/jquery.jqGrid-4.6.0/js/i18n/grid.locale-en.js"></script>       
<script type="text/javascript"
        src="http://www.ok-soft-gmbh.com/jqGrid/jquery.jqGrid-4.6.0/js/jquery.jqGrid.src-columnChooser.js"></script>
<script type="text/javascript"
        src="http://www.ok-soft-gmbh.com/jqGrid/jquery.jqGrid-4.6.0/plugins/jQuery.jqGrid.setColWidth.js"></script>

<link rel="stylesheet" type="text/css"
      href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.11.1/themes/redmond/jquery-ui.css">
<link rel="stylesheet" type="text/css"
      href="http://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/css/ui.jqgrid.css">
<link rel="stylesheet" type="text/css" 
      href="http://cdnjs.cloudflare.com/ajax/libs/jqgrid/4.6.0/plugins/ui.multiselect.css">

和 JavaScript 代码

$("#list1").on("jqGridSortCol", function (e, sortName, iCol, sortOrder) {
    alert("sortName=" + sortName + "\niCol=" + iCol + "\nsortOrder=" + sortOrder);
     //$("#list1").trigger("reloadGrid");

    var myorder=sortOrder;
    if (sortName === "idreleaseRequest") {
        alert(sortOrder);
        var ord=sortOrder;
        alert(ord);

    }
});

$("#list1").jqGrid("GridUnload")
$("#list1").jqGrid({ url:"./controllers/apGetTestData.php?testanzres=1&testsuite="+testsuite+"&testcase="+testcase+"&ch="+ch+"&fromdate="+fromdate+"&todate="+todate+"&mmss="+mmss, datatype: 'xml', mtype: 'GET', height: 'auto',
    colNames:[ 'RRID', 'Release Tag','Completed Date','Result','Firm Ware','DUT','Summary','Remarks'],
    colModel:[
        {name:'idreleaseRequest', index:'idreleaseRequest', width:80, sorttype: 'int'},
        {name:'releaseRequestTag', index:'releaseRequestTag'},
        {name:'DateInfo', index:'Date Info'},
        {name:'Result', index:'Result', sortable:false},
        {name:'FirmWare', index:'FirmWare', sortable:false},
        {name:'DUT', index:'DUT', sortable:false},
        {name:'Summary', index:'Summary', sortable:false, align:'left'},
        {name:'Remarks', index:'Total Suites', sortable:false}],
    pager: $('#pager1'),
    rowNum:6,
    rowList:[6,12,18,24],
    sortname: 'idreleaseRequest',
    sortorder: "DESC",
    caption:"Test Results : "+ globalData,      
    height: 'auto',
    viewrecords: true,
    gridview: true,
    caption: "test",
    rownumbers:true,
    shrinkToFit:false,
    hidedlg: true
});
$('#list1').jqGrid("setLabel", "rn", "SNo");

$("#list1").on("jqGridAfterLoadComplete jqGridRemapColumns", function () {
    var $this = $(this),
        $cells = $this.find(">tbody>tr>td"),
        $colHeaders = $this.closest(".ui-jqgrid-view").find(">.ui-jqgrid-hdiv>.ui-jqgrid-hbox>.ui-jqgrid-htable>thead>.ui-jqgrid-labels>.ui-th-column>div"),
        colModel = $this.jqGrid("getGridParam", "colModel"),
        iCol,
        iRow,
        rows,
        row,
        n = $.isArray(colModel) ? colModel.length : 0,
        cm,
        colWidth,
        idColHeadPrexif = "jqgh_" + this.id + "_";
    $cells.wrapInner("<span class='mywrapping'></span>");
    $colHeaders.wrapInner("<span class='mywrapping'></span>");

    for (iCol = 0; iCol < n; iCol++) {
        cm = colModel[iCol];
        colWidth = $("#" + idColHeadPrexif + $.jgrid.jqID(cm.name) + ">.mywrapping").outerWidth() + 25; // 25px for sorting icons
        for (iRow = 0, rows = this.rows; iRow < rows.length; iRow++) {
            row = rows[iRow];
            if ($(row).hasClass("jqgrow")) {
                colWidth = Math.max(colWidth, $(row.cells[iCol]).find(".mywrapping").outerWidth());
            }
        }
        $this.jqGrid("setColWidth", iCol, colWidth);
    }
});

这是我用于 jqgrid 的完整代码,它在 chrome 中运行完美,并且在 chrome 中正确显示我所期望的内容,但在 Mozilla 33.0 中它没有正确显示,在 chrome 中显示的内容。请任何人帮助我,提前谢谢。

function  ShowHideColumn () {
                $.extend(true, $.ui.multiselect, {
                locale: {
                    addAll: 'Make all visible',
                    removeAll: 'Hide All',
                    itemsCount: 'Avlialble Columns'
                }
            });
            $.extend(true, $.jgrid.col, {
                width: 450,
                modal: true,
                msel_opts: {dividerLocation: 0.5},
                dialog_opts: {
                    minWidth: 470,
                    show: 'blind',
                    hide: 'explode'
                }
            });
          $("#list1").jqGrid("setColProp", "rn", {hidedlg: false});
         $('#list1').jqGrid('columnChooser',
         {

            done: function(perm) {
               if (perm) { self.jqGrid("remapColumns", perm, true); }       

        }
         });


}

首先:您在演示中使用了错误的 HTML 标记:

<table id="list_records"><div id="perpage"></div></table>

应固定为

<table id="list_records"></table><div id="perpage"></div>

您永久使用的秒数index值不同为name value ({name:'FirmWare',index:'name'}例如)。我强烈建议你删除所有index属性来自colModel。的用法index与以下值不同的值name列中网格分隔符排序的值。

第三:即使安装后Mozilla 火狐 33.0 beta 5 https://download-installer.cdn.mozilla.net/pub/firefox/releases/33.0b5/win32/en-US/Firefox%20Setup%20Stub%2033.0b5.exe在我的电脑上(Windows 7)我无法重现你的问题:加载后所有列的宽度似乎都是正确的。如果我按升序或降序方向的最后一列排序,我也会得到所有列的正确宽度值。

UPDATED:在我看来,应该通过添加来修复基于最大列包含的列宽度设置的代码if (cm.hidden) { continue; }行后cm = colModel[iCol];:

$("#list1").on("jqGridAfterLoadComplete jqGridRemapColumns", function () {
    var $this = $(this),
        $cells = $this.find(">tbody>tr>td"),
        $colHeaders = $this.closest(".ui-jqgrid-view").find(">.ui-jqgrid-hdiv>.ui-jqgrid-hbox>.ui-jqgrid-htable>thead>.ui-jqgrid-labels>.ui-th-column>div"),
        colModel = $this.jqGrid("getGridParam", "colModel"),
        iCol,
        iRow,
        rows,
        row,
        n = $.isArray(colModel) ? colModel.length : 0,
        cm,
        colWidth,
        idColHeadPrexif = "jqgh_" + this.id + "_";
    $cells.wrapInner("<span class='mywrapping'></span>");
    $colHeaders.wrapInner("<span class='mywrapping'></span>");

    for (iCol = 0; iCol < n; iCol++) {
        cm = colModel[iCol];
        if (cm.hidden) {
            continue;
        }
        colWidth = $("#" + idColHeadPrexif + $.jgrid.jqID(cm.name) + ">.mywrapping").outerWidth() + 25; // 25px for sorting icons
        for (iRow = 0, rows = this.rows; iRow < rows.length; iRow++) {
            row = rows[iRow];
            if ($(row).hasClass("jqgrow")) {
                colWidth = Math.max(colWidth, $(row.cells[iCol]).find(".mywrapping").outerWidth());
            }
        }
        $this.jqGrid("setColWidth", iCol, colWidth);
    }
});

see the demo http://www.ok-soft-gmbh.com/jqGrid/WorkingColumnChooser_.htm.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

col width 在 jqgrid 中使用,在 chrome 中完美工作,但在 mozilla 33.0 版本中不起作用 的相关文章

随机推荐

  • 如何在node.js中生成PDF

    我想生成一个模块 该模块将通过将输入作为我的发票来生成 PDF 并且该 PDF 文件会自动发送给客户的邮件 ID 在第一步中 我得到了一些代码并尝试生成 PDF 该代码工作正常 我能够生成 PDF 但我无法打开该文件 对于代码 我使用此链接
  • 调试应用程序中的巨大内存泄漏

    我的应用程序刚刚泄漏了 1 5GB 内存 我想因为我没有大量可用的数据 所以我假设它泄漏了内存 但它也可能只是保留它 我目前正在使用 perfmon 收集尽可能多的信息 以尝试了解可能导致问题的原因 目前我没有太多线索 希望能从这里的人们那
  • 检查xml节点是否存在?

    我想检查给定的节点是否存在 xml文件 我尝试 string language node SelectSingleNode language null node SelectSingleNode language Value en en U
  • NetBeans + 多个 php 版本 + 没有 PEAR 的 phpUnit

    我的问题有点复杂 我在 IIS 上有多个 php 版本 每个php项目都有自己的php版本和域名 例如 www webshop loc 我正在通过NetBeans开发项目 并且我想使用TDD作为开发过程 我的问题是 如何在不安装 PEAR
  • .NET core 使用 Xunit + Autofixture + Moq 编写更好的单元测试

    在 NET Core 中进行单元测试 我使用 Xunit Moq 和 Autofixture 但即使有了它们 我发现我的单元测试变得复杂并且需要时间 也许有人可以告诉我是否有任何方法可以缩小这个测试的规模 Fact public async
  • Angular:$broadcast 和 $emit 按值或引用发送消息对象?

    给出以下代码 var msg field1 val1 field2 val2 more fields scope broadcast EventName msg 事件消费者接收到一个指向msg或副本 事件消费者接收一个指针到事件数据 例如
  • HTML 中是否还有其他有用的空白代码,例如用于半空格、全空格、全空格等的  ?

    想知道是否还有其他代码可用于 HTML 新闻通讯 我会使用单元格填充或边距 但我对 HTML CSS 很陌生 我找不到确实影响主标题行及其下方子标题的更改 作为一封电子邮件 我很犹豫是否要使用 CSS 来实现它 因为我不知道电子邮件客户端不
  • PHPMailer 安全吗

    我知道这可能不是一个简单的问题 但我正在开发几个 Web 表单 并且想要一个 PHP 库 我可以用它来发送邮件并让它自动清理数据 我正在查看 PHPMailer 它看起来设置起来非常简单 PHPMailer 是一个安全库 可用于防止我的表单
  • 在 IE 中打印 iframe

    我有一个按钮 可以将要打印的报告加载到 div 内的 不可见 iframe 中并打印该 iframe 用户按下按钮即可打印报告 包含在不同的页面上 除了打印对话框之外 无需更改页面或任何视觉干扰 它适用于 Chrome 和 Firefox
  • 如何使用php获取昨天的日期?

    我想在 php 中使用特定日期格式获取昨天的日期 格式如下 today date d m Y 15 04 2013 是否可以 如果应分别更改 请考虑月份和年份 就这样吧 date d m Y strtotime 1 days 如果月份发生变
  • 使用表单事件检测数据更改

    如果您阅读了我最近提出的其他问题 您可能会发现我不是reallyAccess 开发人员 我的大部分背景都是 VB 在那里我刻意避免绑定控件 现在我在 Access 2007 中工作 我有一个基于表 嗯 单表查询 的表单 以及一个基于一对多子
  • http.Server — 获取 URL 片段

    提取片段数据没有运气 foo in http domain com path foo http domain com path foo 与标准http Server package main import fmt net http type
  • Nodejs 数据结构在设计上是线程安全的吗?

    在node js相关的Web文档中读到它是一个单线程服务器 因此 我很困惑节点服务器中的所有数据结构是否默认都是线程安全的 我有多个回调访问全局对象 如下所示 callback1 global var key val callback2 g
  • 为什么负数对向量大小取模不会得到负数? [复制]

    这个问题在这里已经有答案了 include
  • 在 FlowRouter 中定义默认渲染模板的好方法

    当迁移到一个用 Flow Router 替换 Iron Router 的新 Meteor 项目时 我真的很怀念 Iron Router 定义全局可用的默认行为和设置的功能 我知道 Flow Router 使用 组 构造来定义默认挂钩事件 这
  • string.Join 需要采用数组而不是 IEnumerable 的原因是什么?

    正如标题所说 为什么string Join需要采用数组而不是 IEnumerable 这让我很恼火 因为当我需要从 LINQ 表达式的结果创建连接字符串时 我必须添加 ToArray 我的经验告诉我 我在这里遗漏了一些明显的东西 升级到 N
  • register_printf_specifier 的替代方案(使用 printf() 以二进制格式打印数字)

    据我所知 register printf specifier 现已弃用 我无法再使用 C99 编译器使用 register printf specifier 运行代码www onlinegdb com http www onlinegdb
  • FacetGrid 图例为空

    我正在尝试创建一个seaborn FacetGrid来显示我拥有的一些数据中集群之间的转换概率 该数据有一堆主题和 4 个集群 因此每个主题有 16 个数据点 每对新旧集群一个 因为这些是概率 所以具有相同旧集群 对于每个主题 的所有值总和
  • 删除字符串中的最后一个空格[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我必须删除字符串中的最后一个空格 s a s b s 所以 本质上 id 就像我的字符串最终为 s a s b 需要明确的是 id 更喜欢
  • col width 在 jqgrid 中使用,在 chrome 中完美工作,但在 mozilla 33.0 版本中不起作用

    我在 jqgrid 中使用以下内容 它在 jqgrid 中运行良好 但在 mozilla 33 0 中没有显示 chrome 中显示的内容