我有一个简单的搜索表单,它启动一个 jQuery UI 对话框,其中包含 5 个 jQuery UI 选项卡,每个选项卡都包含自己的 jqgrid。删除呈现网格的 javascript 会导致滚动条消失。更改网格的宽度没有效果。
正如您从屏幕截图中看到的那样,出现水平滚动条,这会导致出现垂直滚动条。
我正在使用 jquery 1.7.2、jqueryui 1.8.22、jqgrid 4.4.0 和 Internet Explorer 8.0
我像这样通过ajax加载对话框
function LoadDialog(id) {
$('#myPopup').dialog({
height: 800,
width: 1100,
autoOpen: false,
open: function (event, ui) {
$('#myPopup').html('');
$.ajax(
'<%: Url.Action("loadDetails") %>/' + id,
{
success: function (data) {
$('#myPopup').html(data);
},
error: function (jqXHR, textStatus, errorThrown) {
DisplayMessage(textStatus, errorThrown);
}
}
);
}
});
$('#myPopup').dialog('open');
}
loadDetails 操作方法返回此视图
<div id="contentWrapper">
<div id="details"></div>
<div id="tabs">
<ul>
<li><%: Html.ActionLink("tab1") %></li>
<li><%: Html.ActionLink("tab2") %></li>
<li><%: Html.ActionLink("tab3") %></li>
<li><%: Html.ActionLink("tab4") %></li>
<li><%: Html.ActionLink("tab5") %></li>
</div>
<div>
有了这个脚本
<script type="text/javascript">
$('#tabs').tabs({
cache: true,
ajaxOptions: {
cache: true
}
});
</script>
每个选项卡为 jqgrid 加载一个表格和一个 div,并使用适当的 javascript 加载网格,它们的宽度设置为 1000px。
<table id="gridtableX'></table><div id="griddivX"></div>
<script type="text/javascript">
$('#gridtableX').jqGrid({
url: '/Home/GetGridData/1234',
datatype: 'json',
height: 320,
colNames: ['Col1','Col2','Col3','Col4'],
colModel: [
{name:'Col1',width:30,sortable:false},
{name:'Col2',width:40,sortable:false},
{name:'Col3',width:40,sortable:false},
{name:'Col4',width:40,sortable:false}],
rowNum:4,
width:1000,
scrollOffset:0,
hidegrid: false,
viewrecords: true,
hoverrows: false,
beforeSelectRow: function(rowid, e){ return false; },
pager: '#griddivX'}).navGrid('#griddivX',{edit:false,add:false,del:false});
</script>
我目前正在研究一个简单的示例,但这需要一段时间。如果有人以前遇到过这种情况,请告诉我。这是什么原因造成的,我该如何解决?