2

Grid(1,4)のグリッドセルのコンテンツを揃えようとしています。各セルにはリストボックスが含まれています。各列にCSSを適用し、リストボックスを中央に揃えることができない幅を調整できます。セルの代わりにCSSを直接​​適用しても、リストボックスはセルの中央に移動しません。!importantは何も変更しません。何が間違っている可能性がありますか?関連するコードは次のとおりです。

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;

}

4

1 に答える 1

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; およびtdalign属性setHorizontalAlignment()を使用するため

于 2012-04-06T14:22:43.033 に答える