我创建了许多 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 并设置每列的最小宽度,这些也不起作用。