css – DataGrid / CellTable造型受挫 – 覆盖行样式

我正在努力为我的GWT 2.4 DataGrid设计风格,并在每一个回合都遇到障碍.我已将以下行样式添加到我的DataGrid:

dataTable.setRowStyles(new RowStyles

样式alertRow就是这样:

.alertEntry {
    font-weight: bold;
    color: #00ff00;
    background-color: #ff0000;
}

更多信息:我已经制作了DataGrid.css的本地副本,并从所有样式中删除了所有“背景”元素,并且我使用它来构建ClientBundle:

public interface MyDataGridResources extends DataGrid.Resources {

  public static final FmeaDataGridResources INSTANCE = GWT.create(MyDataGridResources.class);

  @Override
  @Source({"../resources/styling/mydatagridstyles.css"})
  Style dataGridStyle();

}

我在我的DataGrid构造函数中使用了这个(MyDataGridResources.INSTANCE).

当我尝试时,符合条件的行包含绿色(#00ff00)文本,但背景颜色保持白色或灰色,具体取决于它是偶数行还是奇数行.如何忽略背景颜色的方式呢?它首先在哪里获得这些颜色?!我已经完全删除了css文件中的背景颜色信息.

最佳答案
您可以创建自定义CSS文件,并通过定义新样式资源将其提供给DataGrid.这是通过创建一个扩展DataGrid.Resources的类型来完成的,它知道你的CSS文件.然后,将其传递给datagrid的构造函数.

要提供相当完整的示例,请首先为DataGrid样式创建一个新类型. (定义这样的新类型只能在GWT中唯一标识您的样式).

public interface MyStyle extends DataGrid.Style {
}

然后,定义一个接口,该接口覆盖DataGrid.Resources中的dataGridStyle()方法存根. dataGridStyle方法应返回先前定义的MyStyle.

注意给@Source注释的两个元素 – 你可以在你提供的第二个文件中覆盖默认CSS(DataGrid.css)中的任何类名(这里是“DataGridOverride.css”).

public interface DataGridResource extends DataGrid.Resources {

  @Source({ DataGrid.Style.DEFAULT_CSS,"DataGridOverride.css" })
  MyStyle dataGridStyle();
};

要构建新样式的数据网格,您需要做的就是:

DataGridResource resource = GWT.create(DataGridResource.class);
    dataGrid = new DataGrid

一个微妙之处在于,当您增加被覆盖样式的优先级时,您可能需要覆盖任何其他需要更高优先级的样式,例如行悬停规则需要在行样式规则之后.

相关文章

Css常用的排序方式权重分配 排序方式: 1、按类型 ...
原文:https://www.cnblogs.com/wenruo/p/9732704.html 先上...
css属性:word-wrap:break-word; 与 word-break:break-all 的...
https://destiny001.gitee.io/color/
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML...
css之background的cover和contain的缩放背景图 对于这两个属...