ViewColumnProvider
- это провайдер, который позволяет настраивать отображение колонок на контролах (WebObjectListView,
AjaxGroupEdit). Все его настройки хранятся в файле /xml/ViewColumnProvider.xml
.
Провайдер позволяет настраивать отображение колонок как для свойств и панели инструментов пользовательских типов (через тег type
, property
и toolbar
), так и для типов отображаемого значения (через тег basetype
).
Приоритетными являются настройки свойств. Если они не найдены в файле конфигурации, то ищутся настройки для типа значения.
Параметр name
применяется в составе тегов (type
, property
и basetype
). Остальные параметры (width
, fixedwidth
, cut
и другие) применяются в составе тегов property
и basetype
.
После смены значения в xml-файле, проект нужно перекомпилировать.
Параметры
-
name
- Атрибут объекта из представления, с которым работает контрол. Является обязательным!<basetype name="System.Int32"/>
<type name="Здание"> <property name="Наименование"/> </type>
-
width
- Ширина колонки. Этот параметр применится не к самой колонке, а к ее содержимому. Обычно, всем колонкам, которые должны иметь определенную ширину, задается этот параметр, а остальным колонкам в css задается 100% ширина.<property name="Здание.Наименование" width="150" />
-
fixedwidth
- Задает ширину колонки. Параметр применится к самой колонке. Можно задавать как просто числом(100 - по умолчанию, пиксели), так и с указанием пикселей(100px) и процентов(100%)<property name="Здание.Наименование" fixedwidth="100" />
-
minwidth
- Задает минимальную ширину колонки. Задавать параметр можнотолько в пикселях
, иначе не сработает. Минимальная ширина применяется, когда текущая ширина колонки становится меньше минимальной.<property name="Здание.Наименование" minwidth="100" />
-
filter
- Нужна ли возможность фильтрования по данному столбцу<property name="Здание.Наименование" filter="false" />
-
filteroperations
- Нужна ли возможность использовать операции фильтрования по данному столбцу (>=
,<=
)<property name="Здание.Наименование" filteroperations="false" />
-
noteditbyclick
- Запрет на редактирование объекта по клику на ячейку в этом столбце (редактирование и так отменяется, если указатьfilter=false
).<property name="Здание.Наименование" noteditbyclick="true" />
-
sort
- Включить\выключить сортировку для столбца<property name="Здание.Наименование" sort="true" />
-
cut
- Включить\выключить обрезание содержимого для столбца. Если текст превышает 30 символов, то текст обрезается и в конце добавляется многоточие<property name="Здание.Наименование" cut="true" />
-
cutwidth
- Количество символов, которое нужно оставлять в столбце не обрезая. Если задан этот параметр, то можно не задавать cut=”true”<property name="Здание.Наименование" cutwidth="80" />
-
align
Выравнивание содержимого столбца. Значения: “ПоЛевомуКраю”, “ПоЦентру”, “ПоПравомуКраю” <property name="Здание.Наименование" align="ПоЦентру" />
Можно добавлять свои свойства и обрабатывать их, например, в WolvSettApplyer
. Получать произвольные настройки отображения можно при помощи метода GetColumnSettingsBySettingsName(тип, имя_настройки, имя_свойства);
Настройки колонки с панелью инструментов
Настройки для колонки с панелью инструментов осуществляется через тэг toolbar
. Данный тэг допускает следующие параметры: width
, fixedwidth
, minwidth
, align
.
Пример
<?xml version="1.0" encoding="utf-8" ?>
<root>
<basetype name="System.DateTime" width="100" />
<basetype name="System.Guid?" cut="false" />
<type name="IIS.ISOGD.Адрес">
<toolbar fixedwidth="300px" width="200" minwidth="100" />
<property name="ПервичныйКлюч" width="10" cut="false" filter="false" sort="false" align="ПоЦентру" noteditbyclick="true"/>
<property name="ТерриторияПроп" width="180" cut="false" />
<property name="УлицаПроп" width="100" cut="false" />
<property name="Дом" width="50" cut="false"/>
<property name="Корпус" width="50" cut="false"/>
<property name="Строение" width="50" cut="false" />
<property name="ЖилойРайон.НаименованиеВидТеррЕд" width="100" cut="false" />
<property name="Микрорайон.НаименованиеВидТеррЕд" width="100" cut="false" />
<property name="Квартал.НаименованиеВидТеррЕд" width="100" cut="false" />
<property name="КодКЛАДР" width="60" cut="false" />
<property name="СостояниеАдреса" width="80" cut="false" />
<property name="ДатаИзмененияСостояния" width="80" cut="false" />
<property name="СрокРезервированияАдреса" width="80" cut="false" />
</type>
</root>