将网格中的单元格内容与gwt对齐

时间:2012-04-06 12:32:48

标签: java css gwt

我正在尝试在网格中对齐网格单元格的内容(1,4)。每个单元格都包含一个ListBox。我将CSS应用于每一列,然而我可以调整宽度,我无法将ListBoxes对齐在中心。即使我直接在它们上面应用CSS而不是单元格,ListBox也不会移动到单元格的中心。 !重要的是什么都不改变。可能有什么不对?以下是相关代码:

Grid mYGrid = new Grid(1, 4);

    mYGrid.addStyleName("mYgrid");
    mYGrid.getCellFormatter().setWidth(0, 0, "150");
    mYGrid.getCellFormatter().setWidth(0, 3, "150");

    mYGrid.setWidget(0, 1, getMonthsList() );
    mYGrid.setWidget(0, 2, getYearsList() );

    mYGrid.getColumnFormatter().setStyleName(1,"monthsCell");
    mYGrid.getColumnFormatter().setStyleName(2,"yearsCell");

CSS:

.monthsCell{
width:200px;
margin-left: auto;
margin-right: auto;

}

.yearsCell{
width:200px;
margin-left: auto  !important;
margin-right: auto !important;

}

1 个答案:

答案 0 :(得分:12)

CellFormatter类setHorizontalAlignment()setVerticalAlignment()中有方法:

 Grid grid = new Grid();
 HTMLTable.CellFormatter formatter = grid.getCellFormatter();
 formatter.setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_CENTER);
 formatter.setVerticalAlignment(0, 0, HasVerticalAlignment.ALIGN_MIDDLE);
在您的css中

替换该方法setVerticalAlignment()使用:vertical-align:middle;setHorizontalAlignment()使用td align attribute