我正在试用Flexigrid一个新的应用程序 - 我对它印象非常深刻,但我找不到在代码中设置宽度的方法。
这样做的主要原因是获取GRID(而不是网格中的列)以完全对齐窗口的大小。我知道,这是对水平缩放器的嘲弄,但这就是我必须做的事情!
仅供参考我的设置如下:
$(document).ready(function() {
$("#flex1").flexigrid
(
{
url: '<%= ResolveUrl("~/Data.ashx") %>?filter=none',
dataType: 'json',
colModel: [
{ display: '', name: 'view', width: 20, sortable: true, align: 'center' },
{ display: 'Street', name: 'Street', width: 260, sortable: true, align: 'left' },
{ display: 'Town', name: 'Town', width: 200, sortable: true, align: 'left' },
{ display: '', name:'Actions', width:30, sortable: false, align: 'center' }
],
sortname: "Street",
sortorder: "asc",
usepager: true,
title: 'Streets',
useRp: true,
rp: 15,
showTableToggleBtn: false,
width: 800,
height: 200
}
);
});
但以下功能不起作用:
function ResizeGrid() {
$('#flex1').flexOptions({ width:1000 }).flexReload();
}
它会导致网格刷新,但仅此而已。
答案 0 :(得分:8)
尽管在发布此消息之前在谷歌上没有运气约20分钟,墨菲的法律意味着我之后尝试了另一个快速搜索并找到答案。
原来“宽度”应设置为“自动”(注意引号至关重要)。
$("#flex1").flexigrid
(
{
url: '<%= ResolveUrl("~/Data.ashx") %>?filter=none',
dataType: 'json',
colModel: [
{ display: '', name: 'view', width: 20, sortable: true, align: 'center' },
{ display: 'Street', name: 'Street', width: 260, sortable: true, align: 'left' },
{ display: 'Town', name: 'Town', width: 200, sortable: true, align: 'left' },
{ display: '', name:'Actions', width:30, sortable: false, align: 'center' }
],
sortname: "Street",
sortorder: "asc",
usepager: true,
title: 'Streets',
useRp: true,
rp: 15,
showTableToggleBtn: false,
width: 'auto',
height: 200
}
);
我会留下这个帖子给其他有此问题的人。