|
|
|
Выделение цветом ячеек строки и колонки в которой находится текущая ячейка | ☑ | ||
|---|---|---|---|---|
|
0
chigsrOck
27.04.10
✎
18:25
|
Здавствуйте! Надо сделать так, чтобы при активизации любой ячейки в таб. поле, строка и столбец, в которых она находится выделялись цветом(т.е. менялся их фон).
Можно ли это и сделать и каким образом? Спасибо. |
|||
|
1
Mort
27.04.10
✎
18:27
|
Прикольно, а потом стрелочками рисовать в ТП..
Какой тип данных ТП? |
|||
|
2
Mort
27.04.10
✎
18:30
|
Для таблицы значений я делал следующим образом (только раскрашивалось по двойному клику). Добавил служебную колонку, куда загонял массив ячеек которые должны быть раскрашены. По клику, в массив в текущей строке добавлял имя ячейки.
При получении данных читал массив в строке и раскрашивал. |
|||
|
3
bask
27.04.10
✎
18:31
|
(0) разбирайся с событиями табл. поля ПриПолученииДанных, ПриВыводеСтроки
|
|||
|
4
chigsrOck
27.04.10
✎
18:34
|
со строкой то проблем не будет, а вот со столбцом..
|
|||
|
5
Mort
27.04.10
✎
18:35
|
А чо со столбцом?
|
|||
|
6
chigsrOck
27.04.10
✎
18:47
|
блин точнее наборот со столбцом работает просто для обработчика "ПриНачалеРедактирования" пишем обработчик элементыформы.ТабличноеПолеОсновнойЗарплаты.текущаяколонка.ЦветФонаПоля = Новый Цвет(1,0,0); + еще убираем страрую раскраску...
а вот со строками такая фишка вроде не катит... |
|||
|
7
chigsrOck
27.04.10
✎
18:49
|
походу должно быть что-то вроде как в (2)...???
|
|||
|
8
Mort
27.04.10
✎
18:49
|
Раскрашивать нужно в событии ПриПолученииДанных или ПриВыводеСтроки. Поищи на форуме.
|
|||
|
9
kosts
27.04.10
✎
18:50
|
(7) Накой лишние колонки...
Смотри (3) |
|||
|
10
kosts
27.04.10
✎
18:51
|
А также строку можно раскрасить тем что выделение (синее которое) можно делать на всю строку. Но это если подойдет по смыслу.
|
|||
|
11
Mort
27.04.10
✎
18:53
|
(9) А список ячеек которые в каждой строке нужно раскрашивать Пушкин помнить будет?
Можно сделать и соответствие, для ТЗ можно колонку. |
|||
|
12
kosts
27.04.10
✎
18:55
|
(11) Зачем, если нужно красить всю строку, т.е. все ячейки строки подряд...
|
|||
|
13
hulio_ekb
27.04.10
✎
18:56
|
(3), (8), (9) Может я сейчас глупость скажу, но при чем тут "ПриПолученииДанных" и "ПриВыводеСтроки"? Раскрашиваться то должно при активизации ячейки
|
|||
|
14
Mort
27.04.10
✎
18:57
|
(12) Точно. Неверно прочитал (0). Домой пора походу.
|
|||
|
15
kosts
27.04.10
✎
18:59
|
(13) Тем что в этих событиях можно раскрасить ячейки текущей строки.
Колонку конечно можно раскрасить в ПриАктивизацииКолонки() |
|||
|
16
Mort
27.04.10
✎
18:59
|
(13) Таблица нигде не хранит статус ячейки, например когда листаешь строки PgUp - ом, поэтому их надо перекрашивать каждый раз когда получены данные или выведена очередная строка.
Но в случае активизации, возможно подобная раскраска не понадобится... |
|||
|
17
kosts
27.04.10
✎
19:01
|
(16)
>> их надо перекрашивать каждый раз когда получены данные или выведена >> очередная строка это так и есть. |
|||
|
18
chigsrOck
28.04.10
✎
11:46
|
В общем делается все очень просто... не знаю насколько это оптимально, но свое отрабатывает и ниипет.
Прописываем следующий код в обработчике ТабПоля "При выводе строки" СтрокаДляРаскраски=ЭлементыФормы.ТабличноеПолеОсновнойЗарплаты.ТекущаяСтрока; Если ОформлениеСтроки.ДанныеСтроки=СтрокаДляРаскраски Тогда ОформлениеСтроки.ЦветФона = ЦветаСтиля.ЦветФонаКнопки;//выделили строку серым. конецесли; ИмяТекущейКолонки=ЭлементыФормы.ТабличноеПолеОсновнойЗарплаты.ТекущаяКолонка.Имя; Для каждого ОформлениеЯчейки из ОформлениеСтроки.Ячейки Цикл Если ОформлениеЯчейки.Имя=ИмяТекущейКолонки Тогда ОформлениеЯчейки.ЦветФона = ЦветаСтиля.ЦветФонаКнопки;//выделили колонку серым КонецЕсли; КонецЦикла; Спасибо всем отозвавшимся!:) |
|||
|
19
kosts
28.04.10
✎
12:25
|
Не забудь в начале "При выводе строки"
Если Данные = Неопределено Тогда Возврат; КонецЕсли; |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |