2012-03-05 2 views
0

gwt DataGrid의 전체 선택 색상을 변경할 수있는 방법이 있습니까? 나는 메인 앱의 CSS 파일에 CSS를 포맷 다음과 같은 추가 :GWT - 데이터 그리드 선택 색상

나는 또한 링크를 보았다
.dataGridSelectedRow { 
    background: #1EDA17; 
    color: white; 
    height: auto; 
    overflow: auto; 
} 

는 : http://code.google.com/intl/de-DE/webtoolkit/doc/latest/DevGuideUiCss.html

슬프게도 내 변화에 영향을 미치지 아니합니다. setStyleName() 호출을 놓치고 있습니까?

답변

0

GWT가 clean.css로 덮어 쓰기 때문에 맞춤 CSS가 작동하지 않습니다. FIREBUG 또는 다른 도구를 사용하는 경우이를 인식 할 수 있습니다. 해결책은 간단합니다. 추가! 중요 사용자 정의 CSS를

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

힌트를 보내 주셔서 감사합니다. 예 : .gwt- 버튼 {font-size : 150 %! important;} 이 작동하지만 .dataGridSelectedRow { 배경 : # 1EDA17! important; 색상 : 흰색! 중요; 신장 : 자동! 중요; 오버 플로우 : 자동! 중요; } 은 아무런 효과가 없습니다. 나 또한 다른 DataGrid CSS 속성을 시도했지만 효과가 없습니다. DataGrid가 모든 것을 무시하는 것 같습니다. – user1165474

1

데이터 그리드에서 선택한 행에 대한 서식 지정 CSS를 설정하는 다른 방법도 있습니다에 영향을받지 않는 한 각 라인에. DataGrid.Resources를 확장하는 사용자 지정 인터페이스를 만들어야합니다. 이 인터페이스에서는 dataGridStyle() 메서드를 ovveride하고 @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도 확인하십시오.

하여 데이터 그리드에 사용자 지정 스타일을 적용 위해 당신은 그리드의 생성자 리소스 (내 경우 CustomDataGridResources)을 사용자 정의 인터페이스를 구현하는 인스턴스

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

를 사용할 수 있습니다.

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