使用 setColProp 更改列宽不起作用
Change Column width with setColProp not working
我尝试更改 ajax 请求中列的 宽度:
$.ajax({
type: "POST",
url: "Main.aspx/GetColWidth",
data: {},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (a) {
$("#UsersGrid").jqGrid("setColProp", "colname", {width: 100});
}
});
如果我在调用 setColProp 后立即调用 getGridParam,我可以看到新的宽度,但 table 上没有任何变化。该列具有旧宽度。
jqGrid 不提供任何可用于在创建网格后更改 width
的方法。 setColProp
方法只是将更改应用到 colModel
的相应项目上,但*不应用网格上的更改。
尽管如此,我写了 setColWidth
允许更改列宽。您可以从 github 下载最新版本的 setColWidth
,在 jquery.jqGrid.min.js
之后包含 jQuery.jqGrid.setColWidth.js
文件。之后你可以使用
$("#UsersGrid").jqGrid("setColWidth", "colname", newColumnWidth);
或
$("#UsersGrid").jqGrid("setColWidth", "colname", newColumnWidth, false);
在更改列的大小后不另外调整网格的宽度。第一次调用(没有 false
)特别适用于使用 shrinkToFit: true
选项的情况。
您可以在 the answer 中找到使用 setColWidth
的演示,我最初为此开发了 setColWidth
方法。
更新:setColWidth
是 free jqGrid 的一部分。因此,只需更新到最新版本的 jqGrid 即可使用 setColWidth
方法。
我尝试更改 ajax 请求中列的 宽度:
$.ajax({
type: "POST",
url: "Main.aspx/GetColWidth",
data: {},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (a) {
$("#UsersGrid").jqGrid("setColProp", "colname", {width: 100});
}
});
如果我在调用 setColProp 后立即调用 getGridParam,我可以看到新的宽度,但 table 上没有任何变化。该列具有旧宽度。
jqGrid 不提供任何可用于在创建网格后更改 width
的方法。 setColProp
方法只是将更改应用到 colModel
的相应项目上,但*不应用网格上的更改。
尽管如此,我写了 setColWidth
允许更改列宽。您可以从 github 下载最新版本的 setColWidth
,在 jquery.jqGrid.min.js
之后包含 jQuery.jqGrid.setColWidth.js
文件。之后你可以使用
$("#UsersGrid").jqGrid("setColWidth", "colname", newColumnWidth);
或
$("#UsersGrid").jqGrid("setColWidth", "colname", newColumnWidth, false);
在更改列的大小后不另外调整网格的宽度。第一次调用(没有 false
)特别适用于使用 shrinkToFit: true
选项的情况。
您可以在 the answer 中找到使用 setColWidth
的演示,我最初为此开发了 setColWidth
方法。
更新:setColWidth
是 free jqGrid 的一部分。因此,只需更新到最新版本的 jqGrid 即可使用 setColWidth
方法。