2014-07-18 8 views
0

나는 고정 된 헤더를 가지고 있기 때문에 DataGrid을 좋아한다. 그래서 사용자는 여전히 열 헤더를 볼 수있다.GWT CellSampler 예제 에서처럼 DataGrid의 아래쪽에 수평 ScrollBar를 만드는 방법은 무엇입니까?

그러나 열 수가 너무 많은 경우 DataGrid은 모든 열을 포함하는 위젯의 고정 너비에 맞춰 관리합니다.

예를 들어, DataGrid의 가운데 (100px 포함)에 DockLayoutPanel을 넣으면 30 개의 모든 열이 100px 내에서 균등하게 나뉘며 각 열이 너무 작 으면 읽을 수 없게됩니다.

따라서 DataGrid을 사용하고 싶지만 DataGrid에는 하단에 수평 스크롤 막대가 있어야하므로 많은 열이있는 경우 사용자는 데이터를보기 위해 오른쪽으로 수평 스크롤 할 수 있습니다.

우리가 제대로한다면, 그때는 분명 GWT CellSampler 예http://samples.gwtproject.org/samples/Showcase/Showcase.html#!CwCellSampler

같아야의 CellSampler는 DataGid을 사용하지만, 나는 거기에 어떤 수평 스크롤 코드를 보지 않았다.

그렇다면 CellSampler 예제에서와 같이 DataGrid를 표시하는 방법은 무엇입니까?

답변

2

당신은 당신의 데이터 그리드의 최소 폭을 설정해야합니다

myDataGrid.setMinimumTableWidth(600, Unit.PX); 
+0

Thax u 매우 큰 Andrei, 대단하지만 1 사소한 것. 동적으로 만들 수 있습니까? 또는 그것을 어쨌든 동적으로 만들 수 있습니까? – Tum

+0

나는이 "dbGrid.setMinimumTableWidth (Integer.MAX_VALUE, Unit.PX);"를 좋아한다면 괜찮습니까? ", 어떤 문제가 발생합니까? – Tum

+0

또는 각 열의 크기를 계산하고 모든 열의 전체 크기를 계산할 수 있습니까? – Tum

0

내가했던 나의 표에서 Datagrid해야 할 사항은 다음과 같습니다.

 FlowPanel tablePanel = new FlowPanel(); 
    tablePanel.add(table); 
    tablePanel.getElement().setAttribute("style", 
     "overflow-x: auto;width: " + (Window.getClientWidth() - 37) + "px;clear: both"); 
    add(tablePanel);