【发布时间】:2013-08-29 14:13:49
【问题描述】:
我创建了许多 slickgrids,但这是我创建的第一个,我需要让列不可调整大小和可重新排序(可拖动)。我真正需要的是让我的列始终适合我的视口,但不能调整大小/重新排序,并且在屏幕调整大小(增加或减少)期间不能水平扩展。
我发现如果我把它放到列选项中。 :'
resizable: false
这将阻止它们调整大小,但这样做时,它会将页面加载时的列调整为我为每列指定的宽度。这通常是我想要的,但我的视口有一个 1300 像素的特定宽度。因此,如果我将像素设置得恰到好处,网格将在视口中表现良好并且看起来很棒。但是,我正在开发的这个应用程序需要最小化或最大化屏幕的能力,这样做后,我现在设置为特定宽度的列保持该宽度,并且出现一个水平滚动条,将我的列推到 1300 像素范围之外。
如果我删除列宽并保留 forcefitcolumns,然后我的列真的很小而且看起来很糟糕。
我的专栏之一。 :
{ id: "Mode", name: "Mode", field: "Mode", width: 125, sortable: true, formatter: TaskNameFormatter, editor: Slick.Editors.Text, resizable: false },
我的网格选项示例。 :
var GridOptions = {
showHeaderRow: true,
showHeaderRow: true,
headerRowHeight: 30,
explicitInitialization: true,
enableCellNavigation: true,
enableTextSelectionOnCells: true,
forceFitColumns: true,
multiColumnSort: true,
topPanelHeight: 25,
autoHeight: true,
enableColumnReorder: false
};
我的网格 div 示例。 :
<div id="slickGrid" class="grid-body" style="min-width: 800px; max-width: 1300px; height: auto;"></div>
显然我已经调整了网格大小。 :
$(window).resize(function () {
Grid.resizeCanvas();
});
我只是想知道您如何处理这种情况,基本上我需要我的列水平填充视口并保持该大小,即使在窗口调整大小期间也是如此。想法?以前有没有人解决过这个问题?如果我能弄清楚如何动态地将我的列保持为适合视口的大小,我可以在窗口调整大小期间再次调用它。
***注意我也尝试过 Grid.autosizeColumns 并设置每列的最小宽度,这些也不起作用。
【问题讨论】:
标签: javascript slickgrid