2017-12-06 18 views
2

다음 코드는 myGridExample이 Vaadin 8 그리드 개체 인 곳에서 실행됩니다.Vaadin 그리드 열 setMaximumWidth 무시

  this.myGridExample 
        .addColumn(MapQueryService.RowResult::getFacilityType) 
        .setMinimumWidth(130) 
        .setWidth(160) 
        .setMaximumWidth(170) 
        .setCaption("Facility Type"); 

setMaximumWidth (170)는 아무 것도하지 않는 것처럼 보입니다. 그러나 .setMinimumWidth (130) 예상대로 작동합니다. 이거 버그 야? Vaadin8-docs에서

enter image description here

+0

버그 것 같은데 :) –

답변

2

:

setMaximumWidth

은이 칼럼의 최대 폭을 설정합니다. 을 확장하도록 설정 한 경우 열의 허용 된 최대 너비는 입니다.

...

항목 : setExpandRatio(int)

그것에 대해 setMinimumWidth을 있다면 - 그것은 또한 확장에서만 작동합니다. 귀하의 gif에서 약간의 보정이 이루어졌으며 귀하의 최소 너비가 ~ 110px (gif 시작 위치의 열이 160px 너비라고 가정합니다.) 인 것처럼 보입니다. 따라서 아마도 가장 긴 컬럼 값으로 조정될 것입니다. 당신을 위해

해결 방법 :

grid.addColumnResizeListener(event -> { 
    Grid.Column c = event.getColumn(); 
    if(c.getWidth() > c.getMaximumWidth()) 
     c.setWidth(c.getMaximumWidth()); 
    if(c.getWidth() < c.getMinimumWidth()) 
     c.setWidth(c.getMinimumWidth()); 
});