Jquery 重新加载时jqgrid宽度增加问题

Jquery 重新加载时jqgrid宽度增加问题,jquery,jqgrid,Jquery,Jqgrid,我在单击按钮时重新加载JQGrid,但每次单击时,其宽度都会增加,并放置水平滚动条。如何将宽度固定为浏览器宽度的100%,即使在重新加载时也是如此。 这是我的密码 jQuery("#enhDg").jqGrid({ url:"/ItLabourEffort/effort/grid/enhView", datatype: "json", colNames:['Customer/Capibility Name','Completed-FYTD','In Progres

我在单击按钮时重新加载JQGrid,但每次单击时,其宽度都会增加,并放置水平滚动条。如何将宽度固定为浏览器宽度的100%,即使在重新加载时也是如此。 这是我的密码

    jQuery("#enhDg").jqGrid({
    url:"/ItLabourEffort/effort/grid/enhView",
    datatype: "json",
    colNames:['Customer/Capibility Name','Completed-FYTD','In Progress','In Queue','Customer'],
    colModel:[
        {name:'capabilityName',index:'capabilityName' ,width:'500',summaryType:'count', summaryTpl : 'Total Count:  {0}', align: 'center'},
        {name:'completedFYTD',index:'completedFYTD', align:'center', sorttype:'number',summaryType:'sum' ,width:'300'},
        {name:'inProgress',index:'inProgress', align:'center',sorttype:'number',summaryType:'sum',width:'300'},
        {name:'queue',index:'queue', align:'center',width:'250',summaryType:'sum'},
        {name:'customerName',index:'customerName' ,width:'550',summaryType:'count'}

    ],
    rowNum: 10,
    rowList:[10,20,30],
    height:$("#container").height(),
    sortname: 'invdate',
    viewrecords: true,
    width: '100%',
    sortorder: "desc",
    caption:"Enhancement Forecast View",
    grouping: true,
    groupingView : {
        groupField : ['customerName'],
        groupColumnShow : [true],
        groupText : ['<b>{0}</b>'],
        groupCollapse : false,
        loadonce:true,
        groupOrder: ['asc'],
        groupSummary : [true],
        showSummaryOnHide: true,
        groupDataSorted : true
    },
    footerrow: true,
    userDataOnFooter: true,

});
jQuery("#enhDg").jqGrid('navGrid','#enhDg',{add:false,edit:false,del:false});
jQuery("#enhDg").jqGrid('hideCol','customerName');
$('#timeSelectorRadio input[type=radio]').change(function() {
    jQuery("#enhDg").jqGrid().setGridParam(
            {
                datatype:'json', 
                url : "/ItLabourEffort/effort/grid/enhView2"
            }
        ).trigger("reloadGrid");
    jQuery("#enhDg").jqGrid('hideCol','customerName');

    });
jQuery(“#enhDg”).jqGrid({
url:“/ITLABOREFFORT/effort/grid/enhView”,
数据类型:“json”,
colNames:[“客户/能力名称”、“已完成-FYTD”、“进行中”、“队列中”、“客户”],
colModel:[
{name:'capabilityName',index:'capabilityName',width:'500',summaryType:'count',summaryTpl:'Total count:{0}',align:'center'},
{name:'completedFYTD',index:'completedFYTD',align:'center',sorttype:'number',summaryType:'sum',width:'300'},
{name:'inProgress',index:'inProgress',align:'center',sorttype:'number',summaryType:'sum',width:'300'},
{name:'queue',index:'queue',align:'center',width:'250',summaryType:'sum'},
{名称:'customerName',索引:'customerName',宽度:'550',摘要类型:'count'}
],
rowNum:10,
行列表:[10,20,30],
高度:$(“#容器”).height(),
sortname:“invdate”,
viewrecords:是的,
宽度:“100%”,
巫师:“描述”,
标题:“增强预测视图”,
分组:对,
分组视图:{
groupField:['customerName'],
groupColumnShow:[正确],
groupText:['{0}'],
组崩溃:错误,
有一次:是的,
groupOrder:['asc'],
groupSummary:[true],
showSummaryOnHide:正确,
groupDataSorted:true
},
是的,
userDataOnFooter:true,
});
jQuery(“#enhDg”).jqGrid('navGrid','#enhDg',{add:false,edit:false,del:false});
jQuery(“#enhDg”).jqGrid('hideCol','customerName');
$(“#timeSelectorRadio输入[type=radio]”)。更改(函数(){
jQuery(“#enhDg”).jqGrid().setGridParam(
{
数据类型:'json',
url:“/ITLABOREFFORT/effort/grid/enhView2”
}
).触发器(“重新加载网格”);
jQuery(“#enhDg”).jqGrid('hideCol','customerName');
});

将宽度:“100%”更改为宽度:自动,然后重试此操作

$(window).bind('resize', function() {
    $("#enhDg").setGridWidth($('#grid_container').width() - 30, true);
}).trigger('resize');
您的html可能看起来像

<div id="grid_container" style="width: 100%;">
<table id="enhDg">
    <tr>
        <td />
    </tr>
</table>
<div id="pager"></div>
</div>


让我知道这是否有帮助。

感谢您的回答,它可以工作,但现在它在JQgrid中添加了水平滚动条。它和前一种情况一样得到了改进,它过去经常跳出浏览器窗口,并在浏览器中添加滚动条。@gunjan欢迎您。从colmodel中删除宽度参数。您正在使用哪个浏览器?如果是chrome,则会有默认的水平滚动条,但仍然可以使用下面给出的css在html文件中隐藏
th.ui-th-column div{white space:normal!重要;height:auto!重要;padding:2px;}.ui jqgrid tr.jqgrow td{white space:normal!重要;height:auto;vertical align:text top;padding top:2px;}
谢谢,我使用Chrome,但希望在Safari、IE和firefox上看到同样的行为。虽然上面的CSS很有效。@gunjan很高兴能帮助你。我还没有在safari中检查那些css。你能发布你的json数据(可能是样本)吗?这是JSON:{“总计”:1,“页面”:1,“记录”:9,“行”:[{“客户名称”:“数字营销”,“能力名称”:“24X7运营”,“完成的FYTD”:6,“进行中”:0,“队列”:4},{“客户名称”:“数字营销”,“能力名称”:“拱门与设计”,“完成的FYTD”:12,“进行中”:4,“队列”:4},{“客户名称”:“数字营销”,“capabilityName”:“计费”,“完成的FYTD”:26,“进行中”:45,“队列”:4}]}