GWT - цвет выделения данных - PullRequest
0 голосов
/ 05 марта 2012

Есть ли способ изменить глобальный цвет выделения gwt datagrid? Я добавил следующий css-формат в файл main-app-css:

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

Я видел также следующую ссылку: http://code.google.com/intl/de-DE/webtoolkit/doc/latest/DevGuideUiCss.html

К сожалению, мои изменения не дали никакого эффекта. Я пропускаю любой вызов setStyleName ()?

Ответы [ 2 ]

1 голос
/ 13 июня 2012

Существует также другой способ настройки пользовательского форматирования 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;
}

Но я также предпочитаю менять курсор для выровненной строки:

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

Смотрите также подобное обсуждение .

Для применения собственного стиля к вашей DataGrid вы можете использовать конструктор сетки

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

где Resourceэто экземпляр, который реализует ваш пользовательский интерфейс (в моем случае CustomDataGridResources ).

DataGrid.Resources customDataGridResources = GWT.create(CustomDataGridResources.class)
0 голосов
/ 06 марта 2012

Пользовательский CSS не будет работать, так как GWT переопределяет его с помощью clean.css.Если вы используете FIREBUG или любой другой инструмент, вы можете узнать его.Решение простое.Добавьте ! Важный к каждой строке, которая не затрагивается вашим собственным CSS

.dataGridSelectedRow {
  background: #1EDA17 !important;
  color: white !important;
  height: auto !important;
  overflow: auto !important;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...