GWT DataGrid 列ヘッダーからデフォルトの text-shadow を定義するために使用される CSS をオーバーライドしようとしています。Google によると、CSS は DataGrid.css で定義されていますが、.dataGridHeader
そこで定義されているクラスをオーバーライドしても効果はありません。CSS ファイルでは、デフォルトの動作は次のように定義されています。
.dataGridHeader {
border-bottom: 2px solid #6f7277;
padding: 3px 15px;
text-align: left;
color: #4b4a4a;
text-shadow: #ddf 1px 1px 0;
overflow: hidden;
white-space: nowrap;
}
モジュール CSS でこのクラスをオーバーライドしても効果はありません。
興味深いことに、他の場所で .x-grid3 CSS クラスをオーバーライドすることで他の動作をうまく変更できることを発見しました。たとえば、行の高さは次のように設定できます。
.myRowHeight .x-grid3-row { height: 30px; }
これは、インスタンスでメソッドを呼び出すことにより、グリッド インスタンスに適用され.addStyleName()
ます。
これは、DataGrid の実装が結局 DataGrid.css を使用しておらず、Google のドキュメントが間違っていることを示唆しています。私は .x-grid3 CSS に精通していないので、テキスト シャドウを削除するためにどのクラスがオーバーライドされるかわかりません。
ところで、CSS インジェクション ルートは理解していますが、行の高さに対して .x-grid3 オーバーライドが機能する理由と、別のオーバーライドで問題が解決するかどうかを理解したいと思います。