如何在没有 UiBinder 的情况下将 CellTable.Style 与 GWT 2.7.0 一起使用?
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 sample as a model to add CSS to the CellTable. The 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
并创建了我自己的 CSS 样式表,该样式表作为 GWT CellTable.css
的副本开始
我注意到 GWT TimeSlotListWidget sample has an ui.xml 文件带有 UIBinder。我的项目目前没有使用 UIBinder。
当我 运行 我的代码时,页面中插入了一个 <style>
块,似乎是标准 GWT CellTable.css。然后紧接着,另一个 <style>
块与我的 CSS 一起插入。我的 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();
}
几周前我加入了一个 GWT 应用程序项目。代码库始于 2009 年。我正在尝试用 CellTable 替换 FlexTable,以便我可以利用可排序的列。项目中当前的GWT版本是2.7.0,但是翻看代码,好像还有一些功能还在使用,但是已经过时了。我是 GWT 的新手,我可能是错的。
到目前为止,一切正常。但是,GWT 似乎覆盖了我更新 CSS 的尝试。我使用 GWT dynatablerf sample as a model to add CSS to the CellTable. The 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
并创建了我自己的 CSS 样式表,该样式表作为 GWT CellTable.css
我注意到 GWT TimeSlotListWidget sample has an ui.xml 文件带有 UIBinder。我的项目目前没有使用 UIBinder。
当我 运行 我的代码时,页面中插入了一个 <style>
块,似乎是标准 GWT CellTable.css。然后紧接着,另一个 <style>
块与我的 CSS 一起插入。我的 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();
}