2013-08-29 19 views
0

我创建了许多slickgrids,但这是我创建的第一个需要列不可调整大小和可重新定向(可拖动)的列。我真正需要的是我的列始终适合我的视口,但不能调整大小/可重新定向,并且在屏幕调整大小(增加或减少)期间不能水平延伸。当enablecolumnorder等于false且可调整大小等于false时,Slickgrid强制列以适应视口大小?

我发现,如果我把它放入列选项。 :”

resizable: false 

这将被调整,但在这样它会调整在页面加载我的列宽我每列指定阻止他们。这通常是我想要的,但我的视口的特定宽度为1300px。所以,如果我将像素设置得恰到好处,网格在视口中将表现得很好,并且看起来很棒。但是,我正在处理的这个应用程序需要能够最小化或最大化屏幕,这样做后,我现在设置为特定宽度的列保持该宽度,并且水平滚动条出现将我的列超过1300px范围。

如果我删除列宽并保留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并设置每列的最小宽度,这些都不起作用。

回答

2
https://github.com/mleibman/SlickGrid/issues/17 

发现这似乎是在伎俩。 :

您需要更改条件列调整大小属性:

!c.resizable 

到:

(!c.resizable && options.forceFitColumns !== true) 

每用户tobiasstrebitzer

相关问题