С Новым годом! Форум программистов, компьютерный форум, киберфорум
1С: Типовые и стандартные решения
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/377: Рейтинг темы: голосов - 377, средняя оценка - 4.51
3 / 3 / 0
Регистрация: 26.04.2011
Сообщений: 95
1C 8.x

Изменение цвета фона ячейки табличного поля при выборе

21.04.2014, 13:38. Показов 71370. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
столкнулась с проблемой выделения цветом ячейки, не могу обратиться к ячейке, чтобы изменить ее цвет.
Следующий код выделяет цветом строку в которой выделена ячейка и колонку, причем когда колонка уже выделена один раз, и она приобретает новый цвет, обратно белой она не становится

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Процедура ТабличноеПоле1ПриПолученииДанных(Элемент, ОформленияСтрок)
 
//выделение цветом строки
ТекДанные = элемент.ТекущиеДанные;
Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл 
    Если ОформлениеСтроки.ДанныеСтроки = ТекДанные Тогда
    ОформлениеСтроки.ЦветФона = WebЦвета.Красный;
КонецЕсли;
КонецЦикла;
 // выделение цветом колонки
 
ТекКолонка = Элемент.ТекущаяКолонка; 
ТекКолонка.ЦветФонаПоля = Новый Цвет(255,255,153);
 
конецПроцедуры;
Как можно обратиться к конкретной ячейке?!
Причем, количество колонок задается программно, соответственно обратиться по названию колонки я не знаю как
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.04.2014, 13:38
Ответы с готовыми решениями:

Изменение заднего фона ячейки таблицы и цвета ссылки
Здравствуйте. Уважаемые знатоки, у меня возник вопрос, который я, как уже понял, решить не всилах, помогите пожалуйста. Есть таблица, в ней...

Изменение цвета фона элемента управления формы при запуске процедуры. Запрет на заполнение поля в зав-ти от наличия данных в другом поле
Доброго всем здоровья! Помогите решить проблему! Есть форма " frmВыпуск_Приборов_Из_ОТК_Ковалевский_ВЕ_1 ". На ней есть...

Измененние цвета фона поля (поля со списком) при редактировании
Здравствуйте!!! Помогите пожалуйста реализовать следующюю задумку: имеется форма с полями (полями со списками), необходимо, чтобы при...

15
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
21.04.2014, 14:10
Надо так (Количество - имя колонки):
1C
1
ОформлениеСтроки.Ячейки.Количество.ЦветФона = WebЦвета.Красный;
Добавлено через 3 минуты
У тебя вообще задача-то какая? Обычно фон меняют у ячеек при определённой комбинации значений. Ты какие именно хочешь отметить?
1
3 / 3 / 0
Регистрация: 26.04.2011
Сообщений: 95
21.04.2014, 16:34  [ТС]
В том то и дело что у колонок нет названий. количество колонок может быть различным (пользователь задает их сам), шапка тоже скрыта.
Решаю задачу типа "хищник - жертва" мне нужно по выбору ячейки в массиве, закрашивать ее в определенный цвет в зависимости от того кого я хочу разместить (хищника или жертву).
не могу понять как обращаться именно к выбранной ячейке
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
21.04.2014, 17:05
У колонок нет названий? Разве такое возможно? Как тогда ты их добавляешь без имени?

Добавлено через 1 минуту
У табличного поля тип значения не таблица значений?

Покажи, как ты заполняешь табличное поле.
1
3 / 3 / 0
Регистрация: 26.04.2011
Сообщений: 95
21.04.2014, 17:15  [ТС]
Вот код
Вложения
Тип файла: rar InfoBase6.rar (15.6 Кб, 89 просмотров)
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
21.04.2014, 17:25
Имена колонок у тебя задаются так к1, к2, к3... А говоришь их нет.
1
3 / 3 / 0
Регистрация: 26.04.2011
Сообщений: 95
21.04.2014, 17:26  [ТС]
ну это как вариант, думала имена колонок смогут мне чем то помочь, изначально не было этих имен
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
21.04.2014, 17:26
Я не пойму, что инициирует изменение цвета? Есть, скажем 3 колонки. Что дальше? В них что-то ввводится и потом должен цвет поменяться?
1
3 / 3 / 0
Регистрация: 26.04.2011
Сообщений: 95
21.04.2014, 17:28  [ТС]
по задаче шапки быть не должно

Добавлено через 48 секунд
нет цвет ячейки должен поменяться при активизации ячейки

Добавлено через 25 секунд
или при выборе.
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
21.04.2014, 17:28
Как активизация выполняется?
1
3 / 3 / 0
Регистрация: 26.04.2011
Сообщений: 95
21.04.2014, 17:30  [ТС]
решение задачи на самом начальном этапе, сейчас застряла с этим обращением к ячейке, чтобы цвет поменять

Добавлено через 43 секунды
при выполнении события табличного поля "ПриАктивизацииЯчейки"
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
21.04.2014, 17:33
Ты сначала реши, как он будет меняться, т. е. какие ячейки каким цветом окрасить. Например, ввести какую-то букву в ячейку.

Добавлено через 1 минуту
Привязывать к ПриАктивизацииЯчейки - плохая идея. Человек может просто ткнуть случайно на неё. И опять же, как назад возвращать?
1
3 / 3 / 0
Регистрация: 26.04.2011
Сообщений: 95
21.04.2014, 17:35  [ТС]
на форме предположим два флажка сделать. 1-й "товар" - если выбран флажок товар, то при изменении ячеек цвет становится красным, 2-й флажок "покупатель" - если выбран он, то ячейки предположим синие будт

Добавлено через 56 секунд
может быть при выборе или получении данных?
0
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
21.04.2014, 18:40
Лучший ответ Сообщение было отмечено Jane_792 как решение

Решение

По двойному щелчку подойдёт? Сделал так: 2 обработчика для табличного поля:
1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
     Процедура ТабличноеПоле1Выбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
         Если ПолеВыбора1 = "Товар" Тогда
            ВыбраннаяСтрока[Колонка.Имя] = " ";
        ИначеЕсли ПолеВыбора1 = "Покупатель" Тогда
            ВыбраннаяСтрока[Колонка.Имя] = "  ";
            Иначе ВыбраннаяСтрока[Колонка.Имя] = "";
         КонецЕсли;
     КонецПроцедуры
 
 
     Процедура ТабличноеПоле1ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
         
         Для Каждого Кл Из ЭлементыФормы.ТабличноеПоле1.Колонки Цикл
         
             Если ДанныеСтроки[Кл.Имя] = " " Тогда
                 ОформлениеСтроки.Ячейки[Кл.Имя].ЦветФона = WebЦвета.Красный;
             ИначеЕсли ДанныеСтроки[Кл.Имя] = "  " Тогда
                 ОформлениеСтроки.Ячейки[Кл.Имя].ЦветФона = WebЦвета.Зеленый;
                ИначеЕсли ДанныеСтроки[Кл.Имя] = "" Тогда
                 ОформлениеСтроки.Ячейки[Кл.Имя].ЦветФона = WebЦвета.Белый;
            КонецЕсли;
             
        КонецЦикла;
 
     КонецПроцедуры
Добавлено через 2 минуты
Редактирование поля надо запретить (флажок Только просмотр)
На форму добавить Поле выбора (ПолеВыбора1) и внести в него 2 строки Товар и Покупатель.
Колонкам при создании обязательно задать имена (любые).
1
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
21.04.2014, 18:43
Лучший ответ Сообщение было отмечено Jane_792 как решение

Решение

Вот конфигурация. Только я её конвертировал формат для 1С 8.2.
Вложения
Тип файла: rar InfoBase6.rar (22.0 Кб, 85 просмотров)
1
3 / 3 / 0
Регистрация: 26.04.2011
Сообщений: 95
21.04.2014, 18:58  [ТС]
Спасибо!! уже добавила!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.04.2014, 18:58
Помогаю со студенческими работами здесь

Изменение цвета фона при клике?
Нужно при нажатии на "li" изменять цвет фона на красный, потом если нажимаю на другой, то там меняется на красный, а у предыдущего...

Изменение цвета фона при нажатии кнопки
Привет всем!) Такой вопрос - как в Паскале указать на нажатие определенной кнопки на клавиатуре? Задача проста - если нажимаешь на...

Изменение цвета строки при выборе чекбокса
Подскажите, как поменять цвет строки при выбранном чекбоксе например на такой цвет .active { background-color: green; ...

Изменение цвета select при выборе option
код чужой, сам не программист цель, что бы пр выборе определенных пунктов у шрифта в select был определенный цвет типа если value 1...

Почему изменение фона затрагивает не только изменение фона поля ввода?
Почему изменение фона через BackColor затрагивает не только изменение фона поля ввода в ComplexInput? using System.ComponentModel; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru