2012-03-05 103 views

回答

0

自定義CSS將不起作用,因爲GWT用clean.css覆蓋它。如果您使用FIREBUG或任何其他工具,您可能會認出它。解決方案很簡單。添加!重要到每個還沒有與你的自定義CSS

.dataGridSelectedRow { 
    background: #1EDA17 !important; 
    color: white !important; 
    height: auto !important; 
    overflow: auto !important; 
} 
+0

感謝您的提示。 .gwt-Button {font-size:150%!important;} 正在運行,但是 .dataGridSelectedRow {0}背景:#1EDA17!important; 顏色:白色!重要; 身高:自動!重要; 溢出:auto!important; } 沒有效果。我也嘗試了一些其他的DataGrid CSS屬性,但也沒有效果。看起來datagrid忽略了一切。 – user1165474 2012-03-06 18:45:26

1

也有設置自定義CSS格式的DataGrid中選擇行的另一種方式影響線。您需要創建擴展DataGrid.Resources的自定義接口。在這個接口中你應該使用ovveride方法dataGridStyle()和@Source annotaion把路徑放到你自定義的css文件中。 例如:

import com.google.gwt.user.cellview.client.DataGrid; 
import com.google.gwt.user.cellview.client.DataGrid.Resources; 

public interface CustomDataGridResources extends Resources { 

public interface CustomDataGridResources extends Resources { 
    @Source({DataGrid.Style.DEFAULT_CSS, "resources/CustomDataGridStyles.css"}) 
    CustomStyle dataGridStyle(); 

    interface CustomStyle extends DataGrid.Style { 
    } 
} 

如果你只想改變風格的選定行,然後你的CSS文件將只包含:

.dataGridSelectedRow { 
    background: #1EDA17; 
    color: white; 
    height: auto; 
    overflow: auto; 
} 

但我也喜歡改變光標howered行:

.dataGridHoveredRow { 
    cursor: pointer; 
    cursor: hand; 
} 

另請參閱similar discussion

對於應用自定義風格,你的DataGrid,您可以使用網格的構造

public DataGrid(int pageSize, Resources resources, ProvidesKey<T> keyProvider) 

其中資源是實現您的自定義界面(在我的情況CustomDataGridResources)的實例。

DataGrid.Resources customDataGridResources = GWT.create(CustomDataGridResources.class)