首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在没有CellTable.Style的GWT2.7.0中使用UiBinder?

如何在没有CellTable.Style的GWT2.7.0中使用UiBinder?
EN

Stack Overflow用户
提问于 2017-03-10 08:59:43
回答 1查看 129关注 0票数 1

几周前,我加入了一个GWT应用程序项目。代码库早在2009年就开始了。我正在尝试用一个FlexTable替换一个CellTable,这样我就可以利用可排序的列。该项目中GWT的当前版本为2.7.0,但从代码看,似乎仍然使用了一些已经过时的特性。我是新来的GWT,我可能错了。

到目前为止,事情在功能上是好的。然而,GWT似乎正在重写我更新CSS的尝试。我使用GWT动态采样作为模型向CellTable添加CSS。TimeSlotWidget使用CellTable.Style:

代码语言:javascript
运行
AI代码解释
复制
  interface TableResources extends CellTable.Resources {
    @Override
    @Source(value = {CellTable.Style.DEFAULT_CSS, "CellTablePatch.css"})
    CellTable.Style cellTableStyle();
  }

然后将其应用于CellTable,如下所示:

代码语言:javascript
运行
AI代码解释
复制
 table = new CellTable<TimeSlotListWidget.ScheduleRow>(ROWS_IN_A_DAY,
        GWT.<TableResources> create(TableResources.class));

我试图在代码中使用这种方法。我甚至从值列表中省略了CellTable.Style.DEFAULT_CSS,并创建了我自己的CSS样式表,它以GWT CellTable.css的副本开始。

我注意到GWT TimeSlotListWidget示例有一个ui.xml文件带有UIBinder。我的项目目前不使用UIBinder。

当我运行我的代码时,有一个<style>块插入到页面中,它似乎是标准的GWT CellTable.css。然后直接用我的CSS插入另一个<style>块。而且我的CSS没有覆盖标准的GWT。

如何避免插入GWT CellTable.css?为什么要插入?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-10 14:25:33

问题是,在您的代码中,您重用了CellTable.Style,两个不同的ClientBundles使用了相同的类型,但每个ClientBundles都将自己的CSS绑定到它。

相反,扩展CellTable.Style接口,并在包中使用该接口:

代码语言:javascript
运行
AI代码解释
复制
interface MyCellTableStyle extends CellTable.Style {}
interface TableResources extends CellTable.Resources {
  @Override
  @Source(value = {CellTable.Style.DEFAULT_CSS, "CellTablePatch.css"})
  MyCellTableStyle cellTableStyle();
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42723811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档