Мне кажется, что либо средство визуализации класса представления, либо свойства определения столбца представления, либо оба вместе испорчены.
Можно ожидать, что <xp:viewColumnHeader styleClass="hidden-xs hidden-sm">
контролирует класс стиля th
, но по мере того, как вывидел, что это не так.
Чтобы добиться того, что вы пытаетесь сделать, вы можете попытаться расширить класс рендерера для viewPanel, который равен DataTableRendererEx
.Но этот подход может показаться вам диковинным, и, лично, излишним считается, что в IBM есть много методов класса, объявленных как частные, и это заставит вас переписать большую часть кода класса, просто чтобы получить в свои рукивам нужно изменить.
Будет некоторая надежда, в том смысле, что код фактически ищет наличие headerClass
свойства для xp:viewColumn
.Но, о чудо, это свойство явно не определено для компонента, и, фактически, вы не видите его среди других свойств viewColumn от Designer.Даже если бы вы явно написали это через перспективу исходного кода xsp, Designer не позволил бы вам это сделать, он не скомпилировал бы.Вы можете попросить IBM исправить файл определения свойства для компонента viewColumn, но, честно говоря, я не знаю, насколько это возможно: XPages не работает.
Так что я могу предложить вам обходной путь.Есть способ прокрасться в свойствах через определение темы (я написал немного об этом в этой статье блога ).Итак, чтобы использовать этот обходной путь, вы должны использовать тему.Если оно у вас уже есть, вы можете просто добавить это правило:
<control>
<name>Column.View.Hidden</name>
<property>
<name>headerClass</name>
<value>hidden-xs hidden-sm</value>
</property>
<property>
<name>styleClass</name>
<value>hidden-xs hidden-sm</value>
</property>
</control>
Имя элемента управления является произвольным.Обычно я использую исходное имя семейства элементов управления - Column.View
- и добавляю название варианта - .Hidden
в этом случае.Если бы это было просто Column.View
, правило применимо ко всем viewColumns повсюду.С Column.View.Hidden
у меня есть правило, которое я могу применять на индивидуальной основе.На данный момент я просто должен указать другой идентификатор темы (themeId
свойство) для столбца, который я хочу вести себя по-другому.
<xp:viewColumn columnName="columnName" id="viewColumn1" themeId="Column.View.Hidden">
<xp:viewColumnHeader value="columnHeaderName" id="viewColumnHeader1" />
</xp:viewColumn>