17.01.2011

Как в списке установить нестандартную картинку строки

Для решения данной задачи существует два способа. Рассмотрим их на примере.

Создание колонки

Колонку с картинкой можно связать с колонкой данных, содержащих значение типов Число или Булево. В нашем случае требуется одну и ту же картинку выводить вместо стандартной, поэтому добавленная колонка должна содержать значение Истина для всех строк. Для динамического списка её нужно добавить в запросе.

Копировать в буфер обмена
ВЫБРАТЬ
   СправочникНоменклатура.Ссылка,
   СправочникНоменклатура.ПометкаУдаления,
   СправочникНоменклатура.Предопределенный,
   СправочникНоменклатура.Код,
   СправочникНоменклатура.Наименование,
   ИСТИНА КАК ИндексКартинки
ИЗ
   Справочник.Номенклатура  КАК СправочникНоменклатура

Примечание
Для колонки данных типа Булево значения инвертируются, т. е. Истина означает индекс 0, а Ложь – индекс 1 (это реализовано для удобства отображения картинок-флажков, когда у некоторых строк картинка по некоторому условию есть, а у других её нет).

В списке реквизитов для реквизита ИндексКартинки установим флажок ИспользоватьВсегда.

В списке элементов формы добавим колонку с видом Поле картинки. Значение будет указывать индекс конкретной картинки для конкретной строки в наборе картинок.

В свойстве Данные поля выберем Список.ИндексКартинки.

Набор картинок задается в свойстве поля Картинка значений.

Созданную колонку можно поместить в произвольное место таблицы как самостоятельную или объединить с одной из колонок в группу колонок с группировкой В ячейке. Объединим поле Картинка с колонкой Код:

В результате список примет вид, как показано на рисунке:

Переопределение стандартной картинки

Данный способ более удобен, поскольку не требуется создавать дополнительное поле и группировать его с другим полем, но он менее гибок, поскольку такая картинка всегда отображается в самой левой колонке, содержащей текст. В свойствах таблицы укажем нужную картинку в свойстве Картинка строк и установим свойство Данные картинки строк. Колонку для этого свойства нужно создать так же, как и в предыдущем способе.

В результате список примет следующий вид: