无论我指定什么,Free-Jqgrid的宽度都是1px
问题描述:
我使用的是4.13.6版本。 当我指定宽度并在视图中渲染时,表格只有336 px宽。我可以使用开发人员工具取消选中element.style {width:1px},它将填充页面。我怎样才能得到100%的宽度?无论我指定什么,Free-Jqgrid的宽度都是1px
的Jquery:
@model RSVPTestWindowsAuth.Models.JsonClass
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/free-jqGrid/i18n/grid.locale-en.js"></script>
<script src="~/Scripts/free-jqGrid/jquery.jqgrid.min.js"></script>
<script type="text/javascript">
var data = @Html.Raw(@Model.jsonCls);
$(document).ready(
$(function() {
"use strict";
$("#jqgrid1").jqGrid({
url: '@Url.Action("List", "Home")',
datatype: "jsonstring",
shrinkToFit: false,
mtype: 'GET',
width: '100%',
colNames: ["Tracis", "CrimeType", "Supp", "Arrest", "Type", "Reported"],
colModel: [
{ name: "Tracis" , label: "Tracis", width:20},
{ name: "CrimeType", width:400},
{ name: "Supp", formatter: 'checkbox' ,width:5 },
{ name: "Arrest" , formatter: 'checkbox', width:5},
{ name: "Type", formatter: 'string', width:25},
{ name: "Reported", formatter: 'date', sorttype: 'date', datefmt:'m/d/yyyy HH:MM:SS', width:20}
],
cmTemplate: { editable: true },
rowNum: 20, // Total records to show at a time by default
loadonce: true,
rowList: [10, 20, 30], // For Paging
pager: '#gridpager',
datastr: data,
jsonReader: {
root: "rows",
page: "currpage",
total: "totalpages",
records: "totalrecords",
repeatitems: false
},
viewrecords: true,
gridview: true,
autowidth: true,
height: 'auto',
hoverrows: true,
caption: "Reports Available"
});
}));
</script>
@{
ViewBag.Title = "List";
}
<!-- import the included stylesheet for some (very basic) default styling -->
<link href="/Content/PagedList.css" rel="stylesheet" type="text/css" />
<h2>Reports Available:</h2><br />
<table>
<tr>
<table id="jqgrid1"></table>
<div id="gridpager"></div>
</tr>
</table>
这里是什么样子,当我使用的开发工具来删除1px的:
您应该验证您是否插入文件ui.jqgrid.min.css
(或ui.jqgrid.css
)与您使用的jqGrid的相同版本。
其他的一些小建议,你的代码:
- 的
grid.locale-en.js
加载是免费的jqGrid不需要的。这是足以载入jquery.jqgrid.min.js
- 你应该使用选项
autowidth: true
不指定选项shrinkToFit: false
如果您需要在格栅的宽度扩大到100%(至外容器的宽度) - 你可以,如果值删除
colNames
name
colModel
的属性是相同的字符串。 - 您应该删除
mtype: 'GET',width: '100%',gridview: true,height: 'auto'
选项。选项的值是默认值或不需要的值。 - 我建议您删除
<div id="gridpager"></div>
并将pager: '#gridpager'
替换为pager: true
。 jqGrid会自动创建相应的div。如果您要使用navGrid
,inlineGrid
等方法在导航栏中放置一些信息,那么您只需跳过"#gridpager"
参数,并且免费jqGrid将使用它通过使用pager: true
创建的div。 - 我建议你加入Font Awesome 4.x CSS并使用选项
iconSet: "fontAwesome"
。您将改进jqGrid使用的图标的外观。有关更多详细信息,请参见the article。 - 您应该删除
jsonReader
和从服务器返回的所有项目的只是阵列(只是阵列,这是rows
属性的值,并跳过{page:1,total:1,records:1, rows: ...}
)
答
您应该验证您是否插入文件ui.jqgrid.min.css
(或ui.jqgrid.css
)与您使用的jqGrid的相同版本。
其他的一些小建议,你的代码:
- 的
grid.locale-en.js
加载是免费的jqGrid不需要的。这是足以载入jquery.jqgrid.min.js
- 你应该使用选项
autowidth: true
不指定选项shrinkToFit: false
如果您需要在格栅的宽度扩大到100%(至外容器的宽度) - 你可以,如果值删除
colNames
name
colModel
的属性是相同的字符串。 - 您应该删除
mtype: 'GET',width: '100%',gridview: true,height: 'auto'
选项。选项的值是默认值或不需要的值。 - 我建议您删除
<div id="gridpager"></div>
并将pager: '#gridpager'
替换为pager: true
。 jqGrid会自动创建相应的div。如果您要使用navGrid
,inlineGrid
等方法在导航栏中放置一些信息,那么您只需跳过"#gridpager"
参数,并且免费jqGrid将使用它通过使用pager: true
创建的div。 - 我建议你加入Font Awesome 4.x CSS并使用选项
iconSet: "fontAwesome"
。您将改进jqGrid使用的图标的外观。有关更多详细信息,请参见the article。 - 您应该删除
jsonReader
和从服务器返回的所有项目的只是阵列(只是阵列,这是rows
属性的值,并跳过{page:1,total:1,records:1, rows: ...}
)
这不是很清楚,导致你想拥有。例如,您可以使用'shrinkToFit:false'选项,该选项可防止收缩/扩展**列宽**。只有当你想增加网格的宽度而不增加列的宽度时,你应该使用'shrinkToFit:false'选项和'autowidth:true'结合使用。它会在最后一列的正确大小上创建额外的可用空间。如果您插入图片,它将很有帮助,该图片演示了网格现在的外观。 – Oleg
此外,您还可以使用一些其他奇怪的组合:数据类型:“jsonstring”,datastr:data',url:'@ Url.Action(“List”,“Home”)',mtype:'GET ',loadonce:true'。您需要加载哪些数据源?值'jsonReader',似乎也很奇怪。你能否包括一个网格输入数据的例子(两行就够了)?输入数据的哪个字段是项目的唯一ID,可用作rowid('
以下是他们的数据:{page:1,total:1,records:1,rows:[{“id”:“136746”,“Tracis”:“2015059059”,“CrimeType”:“Quarreling” “Supp”:false,“逮捕”:false,“Type”:“Incident”,“Reported”:“1/8/2016 10:43:31 PM”},{“id”:“128252”,“Tracis “:”2015070385“,”CrimeType“:”失物招领“,”Supp“:假,”逮捕“:假,”类型“:”事件“,”已报告“:2015/11/20 12:36:36 AM“}]} – SDanks
回答
您应该验证您是否插入文件
ui.jqgrid.min.css
(或ui.jqgrid.css
)与您使用的jqGrid的相同版本。其他的一些小建议,你的代码:
grid.locale-en.js
加载是免费的jqGrid不需要的。这是足以载入jquery.jqgrid.min.js
autowidth: true
不指定选项shrinkToFit: false
如果您需要在格栅的宽度扩大到100%(至外容器的宽度)colNames
name
colModel
的属性是相同的字符串。mtype: 'GET',width: '100%',gridview: true,height: 'auto'
选项。选项的值是默认值或不需要的值。<div id="gridpager"></div>
并将pager: '#gridpager'
替换为pager: true
。 jqGrid会自动创建相应的div。如果您要使用navGrid
,inlineGrid
等方法在导航栏中放置一些信息,那么您只需跳过"#gridpager"
参数,并且免费jqGrid将使用它通过使用pager: true
创建的div。iconSet: "fontAwesome"
。您将改进jqGrid使用的图标的外观。有关更多详细信息,请参见the article。jsonReader
和从服务器返回的所有项目的只是阵列(只是阵列,这是rows
属性的值,并跳过{page:1,total:1,records:1, rows: ...}
)相关问题