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

arj*_*soh 2 css java 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");
Run Code Online (Sandbox Code Playgroud)

CSS:

.monthsCell{
width:200px;
margin-left: auto;
margin-right: auto;
Run Code Online (Sandbox Code Playgroud)

}

.yearsCell{
width:200px;
margin-left: auto  !important;
margin-right: auto !important;
Run Code Online (Sandbox Code Playgroud)

}

Õzb*_*bek 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);
Run Code Online (Sandbox Code Playgroud)

在你的css中作为该方法的替代品setVerticalAlignment()使用:vertical-align:middle;setHorizontalAlignment()使用td align属性