WebObjectListView (далее, WOLV
) - веб-контрол, который используется для отображения списка объектов.
Внешний вид WOLV
Внешний вид WOLV при использовании различных тем
Внешний вид WOLV при использовании различных тем можно посмотреть в статье Выбор темы Web-приложения.
Stylization
Основная статья про cтилизацию WebObjectListView.
CSS-классы
Основная статья о CSS-классах WebObjectListView.
Пейджинг
Основная статья про пейджинг WebObjectListView.
Фиксация шапки списка
Зафиксировать шапку списка можно, добавив на страницу клиентский скрипт:
$('.wolv-caption-wrapper').sticky( { topSpacing : <x> } );
где x
- высота от верхнего края в пикселях.
Прокрутка списка ScrollToSelectedObject
После совершения операции с элементом список прокручивается к выделенному объекту данных.
Настройку удобно применять к большим спискам, когда выделенный объект по умолчанию не всегда попадает в зону видимости пользователем.
Включить настройку:
WebObjectListView1.Operations.ScrollToSelectedObject = true;
Сохранение состояния прокрутки списка
Включается с помощью настроек:
WebObjectListView1.Operations.SaveHorizontalScroll = true;
WebObjectListView1.Operations.SaveVerticalScroll = true;
Позиции скроллов списка будут восстанавливаться всегда, в т.ч. при переходах по страницам и сортировке в WOLV
.
Отображение иерархических данных
Основная статья про иерархический WebObjectListView.
Группировка данных
Основная статья про группировку данных в WebObjectListView.
Загрузка данных и EmptyControl
Основная статья о загрузке данных и EmptyControl в WebObjectListView.
Операции
Основная статья об операциях WebObjectListView.
События
Основная статья про события WebObjectListView.
Взаимодействие WebObjectListView и формы редактирования
Отображение на одной странице списковой формы и формы редактирования
Отображение на одной странице списковой формы и формы редактирования описано в соответствующей статье.
Создание нового объекта на основе (прототипизация)
Особенности использования прототипизицаии в WebObjectListView
описано в статье Прототипизация для Flexberry ASP.NET.
Варианты открытия формы редактирования при создании\редактировании объекта
Основная статья про открытие формы редактирования.
Фильтры
Основная статья про фильтры WebObjectListView.
Поиск
Основная статья про поиск в WebObjectListView.
Печать
Существуют настройки WOLV, позволяющие напечатать список или часть списка. Описание настройки печати представлено в статье Печать списка.
Пользовательские настройки WebObjectListView
Инструмент настройки для WebObjectListView описан в статье WolvSettApplyer.
Настройка отображения столбцов
Основная статья про настройку отображения столбцов WebObjectListView.
Настройка сортировки
Настройка сортировки списка описана в статье Сортировка для WebObjectListView.
Возможность изменения ширины столбцов
Пользователь может самостоятельно изменить ширину каждого столбца списка, если установлено свойство Operations.AllowColumnResizing = true
. Настроенные размеры столбцов сохраняются для каждого пользователя на сервере и восстанавливаются при следующей загрузке страницы.
Установленная пользователем ширина столбца более приоритетна, чем значение, указанное в ViewColumnProvider.xml.
При изменении ширины столбцов таблицы исползуется jQuery-плагин jquery.colresize.
Поведение содержимого ячейки при переполнении по ширине столбца может быть настроено с помощью опции OperationsWOLV.OverflowWordEllipsis
. Если опция
установлена в false
(по умолчанию), то происходит перенос содержимого ячейки на новую строку. Если опция установлена в true
, то содержимое ячейки обрезается
и в конец добавляется многоточие.
Добавление кнопки в тулбар и строки
Основная статья про добавление кнопок в тулбар и строки WebObjectListView.
Использование собственных контролов для отображения данных
Для использования собственных контролов для отображения данных предназначен WebControlProvider.
Локализация заголовков атрибутов
Операцию WOLV UseLocalizedCaptions
нужно использовать в том случае, если требуется поддержка нескольких языков. Когда она включена, WOLV использует метод View.GetLocalizedPropertyCaption(propName)
. Чтобы задать локализованные заголовки, нужно:
- в сборке с объектами создать файл ресурсов
Captions.resx
; - задать ему Acess modifier
"Public"
; - поместить класс, соответствующий файлу ресурсов, в пространство имен
"<namespace сборки>.ObjectsResources"
(можно сразу создавать файл в папкеObjectsResources
); - для каждого локализуемого заголовка добавить строчки с ключами вида:
"<namespace сборки>_<класс>_<имя представления>_<имя атрибута>"
, причем в пространстве имен сборки нужно заменить точки на “_”; - в этом же пространстве имен для каждой культуры создать свой файл ресурсов.
Если нужно задать заголовок независимо от представления, то вместо имени преставления следует написать “DefCaption”. Например: "IIS_КошкиСЛапами_Кошка_DefCaption_Кличка"
.
Формат данных
Для того чтобы отобразить данные в определенном формате, можно написать отдельный контрол.
Также, есть возможность задать свойству атрибут System.ComponentModel.DataAnnotations.DisplayFormat
.
Пример:
/// <summary>
/// Курс реабилитации
/// </summary>
// *** Start programmer edit section *** (КурсРеабилитации.ВыраженностьОграниченийЗначение CustomAttributes)
[System.ComponentModel.DataAnnotations.DisplayFormat(DataFormatString = "F2")]
// *** End programmer edit section *** (КурсРеабилитации.ВыраженностьОграниченийЗначение CustomAttributes)
public virtual System.Nullable<System.Double> ВыраженностьОграниченийЗначение
{
get
{
//...
}
set
{
//...
}
}
Формат даты и времени
- Формат даты, отображаемой в ячейке может быть настроен с помощью атрибута DisplayFormatAttribute:
[DisplayFormat(DataFormatString = "yyyy.MM")]
public virtual System.DateTime OnlyDate
Чтобы это работало, дата должна отображаться в ячейке WOLV с помощью стандартного компонента (т.е. если компонент не переопределен в WebControlProvider.xml).
- Если в
WebControlProvider.xml
задан пользовательский компонент для отображения дат (например,FormattedDateTimeControl
), то формат должен быть настроен непосредственно в компоненте (с помощьюWebControlProvider.TuneControlDelegateMethod
).
Либо можно создать новый компонент, унаследованный отFormattedDateTimeControl
, переопределив свойствоFormat
, и указать его вWebControlProvider.xml
. - Если в
WebControlProvider.xml
задан пользовательский компонент для отображения дат, но при этом хочется, чтобы для конкретного свойства работал атрибутDisplayFormatAttribute
, то вWebControlProvider.xml
необходимо сбросить пользовательский компонент для этого свойства:
<customproperty class="DatePickerTest" property="OnlyDate">
<control typename="" property="" codefile="" />
</customproperty>
Формат даты и времени с использованием дополнительного класса
- Способ задания формата для даты и времени без использования атрибута DataFormatString.
Необходимо создать новый класс:
/// <summary>
/// Вспомогательный класс для вывода даты в формате "HH:mm".
/// </summary>
public sealed class DateTimeFormattedHHmm : FormattedDateTimeControl
{
/// <summary>
/// Метод установки формата даты.
/// </summary>
public DateTimeFormattedHHmm()
{
Format = "HH:mm";
}
}
Так же необходимо внести изменения в WebControlProvider.xml
:
<customproperty class="TestDataTimeClassObject" property="poleDateTime">
<control typename="WebFormsTestStand.Forms.Controls.WOLV.AppearanceTests.DateTimeFormattedHHmm, TestStand(ASP.NET Application)" property="Text" codefile="" />
</customproperty>
Редактор ограничений
Подробно о редакторе ограничений изложено в статье Расширенный редактор ограничений для Flexberry ASP.NET.
-
WOLV
проводит индикацию наложенного ограничения в углу. Если имя ограничения известно, то оно будет выводиться. Если нет - то будет отображаться сообщение, что список ограничен.
Внимание: если при работе в редакторе ограничений сохранить ограничение, а потом его применить, то это не гарантирует, что было применено именно то ограничение, что было сохранено, поэтому имя ограничения на списке выведено не будет. -
Для ускорения работы контрола можно добавить кэширование сохраненных ограничений.
Сервис данных WOLV
Основная статья про сервис данных WebObjectListView.
Экспорт в Excel и XML
Экспорт из WebObjectListView в Excel описан в соответствующей статье.
Экспорт в Excel и XML описан в соответствующей статье.
Поведение флажков выбора элементов
Основная статья про поведение флажков выбора элементов WebObjectListView.
JS API
Основная статья про JavaScript API для WebObjectListView.
Советы
- ID WOLV лучше заполнять латинскими символами - это связано с тем, что ID WOLV часто отображается в адресной строке браузера и киррилические символы декодирются, занимая очень много места в URL страницы.
WOLV
никак не связан с WebBinder, поэтому ID можно задавать как удобно. - Всегда оборачивайть настройку
WOLV
через WolvSettApplyer:
var wsa = new WOLVSettApplyer();
wsa.SettingsApply(WebObjectListView1);