簡體   English   中英

沒有UiBinder的GWT 2.7.0如何使用CellTable.Style?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM