我需要一個GWT中的FlexTable,我可以在運行時添加項目。 FlexTable位於ScrollPanel內部,因此當水平內容超出顯示區域時,會出現滾動條。 問題是,當有2-3列時,它們的間隔很廣,但隨着列數的增加,單元格所需的最小面積爲100px。 我需要確保Cell始終只需要100px。我一直在追隨但沒有成功。GWT:靈活固定列大小
myflextable.getCellFormatter()。setWidth(0,col,「100px」);
我需要一個GWT中的FlexTable,我可以在運行時添加項目。 FlexTable位於ScrollPanel內部,因此當水平內容超出顯示區域時,會出現滾動條。 問題是,當有2-3列時,它們的間隔很廣,但隨着列數的增加,單元格所需的最小面積爲100px。 我需要確保Cell始終只需要100px。我一直在追隨但沒有成功。GWT:靈活固定列大小
myflextable.getCellFormatter()。setWidth(0,col,「100px」);
請使用getFlexCellFormatter()。setWidth()方法嘗試。 請再檢查一下,你是否給出了100%的可伸縮寬度。
問題可能是flextable初始設置太寬。它將默認填充滾動面板,然後結果列將拉伸到其最大寬度。 您應該在開始時顯式設置flextable的寬度,並且在運行時添加更多列時它會自動調整大小。
這裏是當你有最初一排和兩個100像素列的例子:
ft = new FlexTable();
ft.addStyleName("flextable");
ft.setWidth("200px");
for (int x = 0; x < 2; x++) {
ft.setText(x, 0, "cell");
ft.getCellFormatter().addStyleName(x, 0, "testcell");
}
scrollpanel.add(ft);
和你的CSS應該這樣說:
.flextable {
table-layout: fixed;
}
.testcell {
width : 100px;
}
注意,flextable最初設置爲200像素寬度,因爲我們從兩列開始。 在CSS文件中,必須設置表格佈局屬性,否則在添加更多內容(直到單元格達到其內容定義的最小寬度)時,列將小於100像素。
此外,請記住將樣式名稱「testcell」添加到您在運行時添加的任何新單元格。