struts 2 jQuery grid plugin изменить только один стиль заголовка столбца
Можно ли изменить стиль только одного столбца, услышанного в сетке ?!
У sjg:gridColumn есть свойство cssClass, но установка этого css будет применяться только к строкам под столбцом, а не к заголовку столбца.
At JQGRID-можно ли изменить цвет фона текста заголовка HTML в JavaScript? я получил код как:
На вашей HTML-странице. Если вы хотите внести изменения только для одного столбца
вы можете использовать метод setLabel:
$("#myGrid").jqGrid('setLabel','Price', '', {'background':'red'});
Или
$("#myGrid").jqGrid('setLabel','Price', '', 'myColorClass');
, но я не мог заставить его работать.
Наконец, поскольку заголовки столбцов будут иметь уникальный идентификатор, я мог бы использовать ниже:
document.getElementById("gridtable_sampleColumn").style.backgroundColor = "#FF0000";
Ну, как вы думаете, есть лучший способ. Я искал что-то вроде этого:
<sjg:gridColumn name="sampleColumn"
cssClass="makeThisSmall" />
И в моем css
.makeThisSmall{
font-size : smaller;
}
Который не работал и только изменил строки css не заголовок столбца.
Также я нахожу, что gridColumn имеет formatoptions может ли это сделать то, что я ищу ?!
1 ответ:
Нет декларативного способа задать стиль / класс заголовка столбца для конкретного столбца (я исключаю определение правила CSS, где id или имя столбца задаются явно). Поэтому вы должны использовать
setLabel, чтобы установить его.Если вам нужно изменить цвет фона, то вы должны принять во внимание, что
background-imageтакже должны быть установлены вnone. Кроме того, вы не должны забывать, что другие правила CSS будут применяться также и правило с более конкретным CSS селектор победит. Например,font-sizeв заголовке столбца будет применяться из-за следующего правила изui.jqgrid.css:.ui-jqgrid .ui-jqgrid-view { font-size: 11px }, которые имеют два класса в правиле. Если вы хотите изменить значение для столбцов, имеющих класс
makeThisSmall, то вы должны определить правило CSS как.ui-jqgrid .ui-jqgrid-view .makeThisSmall { font-size: 8px }Или
.ui-jqgrid-view .makeThisSmall { font-size: 8px }В любом случае он должен быть по крайней мере настолько сложным или более сложным, как правило CSS, которое вы хотите перезаписать.
Таким же образом будет применяться
backgroundиз-за правила CSS, которое также содержит два класса.ui-widget-content .ui-state-default { background: ... }Поэтому вам нужно определить соответствующую роль deep (или deeper) CSS, чтобы иметь возможность ovewrite его через атрибут
class.
Comments