gxt: пользовательский стиль ячейки сетки - PullRequest
1 голос
/ 02 декабря 2011

Я хочу создать пользовательскую ячейку в сетке.Это не является проблемой.Проблема: текст в этой пользовательской ячейке имеет неправильный стиль.

myColumn.setRenderer(new GridCellRenderer<TaskModel>() {
        public Object render(TaskModel model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<TaskModel> taskModelListStore, Grid<TaskModel> taskModelGrid) {
            VerticalPanel panel = new VerticalPanel();

            Html html = new Html("xxxx");

            Button b = new Button("xxxxxxxx");

            panel.add(html);
            panel.add(b);

            return panel;
        }
    });

Почему это произошло?

Style example

Ответы [ 3 ]

0 голосов
/ 04 декабря 2011

Если вы хотите, чтобы текст был стилизован так же, как и другой текст GXT, создайте объект GXT Text и добавьте его вместо этого. Если вам нужен собственный стиль, вам нужно будет использовать свой собственный CSS, как предложено @ denu.

Я думаю, что-то вроде new Text("xxxx"); может быть тем, что вы хотите.

0 голосов
/ 06 декабря 2011

@ Travis Какая разница:

ColumnConfig column1 = new ColumnConfig("1", 200);
        column1.setRenderer(new GridCellRenderer<TaskModel>() {
            public Object render(TaskModel model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<TaskModel> taskModelListStore, Grid<TaskModel> taskModelGrid) {
                VerticalPanel panel1 = new VerticalPanel();

                panel1.add(new Html("html"));
                panel1.add(new Label("label"));
                panel1.add(new Text("text"));
                panel1.add(new Button("button"));
                return panel1;
            }
        });
        ColumnConfig column2 = new ColumnConfig("2", 200);
        column2.setRenderer(new GridCellRenderer<TaskModel>() {
            public Object render(TaskModel model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<TaskModel> taskModelListStore, Grid<TaskModel> taskModelGrid) {
                return new Text("text");
            }
        });

image

0 голосов
/ 03 декабря 2011

Вы должны установить собственный стиль.

 Html html = new Html("<div class=\"myStyle\">xxxx</div>");

затем в файле stylesheet.css (может называться по-разному в зависимости от настроек вашего проекта)

.myStyle {
    //style you want
}

или встроенный, если вы не хотите редактировать файл стиля, например ::

 Html html = new Html("<div style=\"font-weight: bold;\">xxxx</div>");

Однако я предпочитаю хранить стили там, где они есть, вне кода (как в моем первом предложении)

...