[英]How to use CellTable.Style with GWT 2.7.0 without UiBinder?
幾周前我加入了GWT應用程序項目。 該代碼庫始於2009年。我正在嘗試用CellTable替換FlexTable,以便可以利用可排序的列。 該項目中GWT的當前版本為2.7.0,但通過代碼查看,似乎仍然使用了一些過時的功能。 我是GWT的新手,我可能錯了。
到目前為止,功能上還不錯。 但是,GWT似乎壓倒了我更新CSS的嘗試。 我使用GWT dynatablerf示例作為將CSS添加到CellTable的模型。 該TimeSlotWidget使用CellTable.Style:
interface TableResources extends CellTable.Resources {
@Override
@Source(value = {CellTable.Style.DEFAULT_CSS, "CellTablePatch.css"})
CellTable.Style cellTableStyle();
}
然后像下面這樣將其應用於CellTable:
table = new CellTable<TimeSlotListWidget.ScheduleRow>(ROWS_IN_A_DAY,
GWT.<TableResources> create(TableResources.class));
我試圖在我的代碼中使用這種方法。 我什CellTable.Style.DEFAULT_CSS
從值列表中省略了CellTable.Style.DEFAULT_CSS
並創建了自己的CSS樣式表,該樣式表以GWT CellTable.css的副本開始
我注意到GWT TimeSlotListWidget示例具有UIBinder的ui.xml文件。 我的項目當前不使用UIBinder。
運行代碼時,頁面中插入了一個<style>
塊,它似乎是標准的GWT CellTable.css。 然后緊接着,在我的CSS中插入另一個<style>
塊。 而且我的CSS並沒有覆蓋標准的GWT CSS。
如何防止GWT CellTable.css插入? 為什么要插入?
問題在於,在您的代碼中,您重用了CellTable.Style
,並且兩個不同的ClientBundle使用了相同的類型,但是每個都將自己的CSS綁定到了它。
而是擴展CellTable.Style
接口,並在您的捆綁軟件中使用它:
interface MyCellTableStyle extends CellTable.Style {}
interface TableResources extends CellTable.Resources {
@Override
@Source(value = {CellTable.Style.DEFAULT_CSS, "CellTablePatch.css"})
MyCellTableStyle cellTableStyle();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.