|
|
|
Подсветить строки в табличном поле | ☑ | ||
|---|---|---|---|---|
|
0
MegaRoks
21.07.18
✎
09:17
|
Есть процедура, мне надо сравнить из поля Подсветить_строки и если есть в табличном поле совпадения подсветить их
Процедура ТабличноеПолеПриПолученииДанных(Элемент, ОформленияСтрок) Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл Если ОформлениеСтроки.ДанныеСтроки = Подсветить_строки Тогда ОформлениеСтроки.ЦветФона = WebЦвета.Желтый; КонецЕсли; КонецЦикла; КонецПроцедуры Вопрос у меня в том, попытался сделать, но все равно не подсвечивает |
|||
|
1
lucbak
21.07.18
✎
09:25
|
(0) ОформлениеСтроки.ДанныеСтроки. ?
|
|||
|
2
MegaRoks
21.07.18
✎
09:46
|
Я что то не так делаю?
|
|||
|
3
lucbak
21.07.18
✎
09:49
|
(2) с чем конкретно пытаешься сравнить "Подсветить_строки " ? не с "ДанныеСтроки"же. Что идет после точки?
|
|||
|
4
MegaRoks
21.07.18
✎
09:57
|
Есть поле на форма куда вводится значение. Я хочу это введенное значение найти в табличном поле, и если они там есть то подсветить.
Например я ввел rt в табличном поле три строки tyu rty rte 2 и 3 строки должны подсветиться |
|||
|
5
Cool_Profi
21.07.18
✎
10:00
|
А отладчик что говорит?
|
|||
|
6
MegaRoks
21.07.18
✎
10:04
|
Не заходит в Если
|
|||
|
7
lucbak
21.07.18
✎
10:06
|
(4)
Всесто: Если ОформлениеСтроки.ДанныеСтроки = Подсветить_строки Тогда Что-то типа такого: ПодсвечиваемСтроки="rt"; Если СтрНайти(ОформлениеСтроки.ДанныеСтроки["ТутНазваниеПоляКотороеПроверяем"], ПодсвечиваемСтроки) > 0 Тогда |
|||
|
8
Cool_Profi
21.07.18
✎
10:22
|
(6) А что такое "Подсветить_строки"?
|
|||
|
9
MegaRoks
21.07.18
✎
10:28
|
Все работает, но теперь когда я заполняю таблицу она окрашивается. Как это можно избежать?
|
|||
|
10
Cool_Profi
21.07.18
✎
10:40
|
(9) Условие проверяй, что делать? Снимать штаны не предлагаю....
|
|||
|
11
lucbak
21.07.18
✎
10:49
|
(9) Что означает фраза "заполняю таблицу" ?
|
|||
|
12
MegaRoks
21.07.18
✎
11:01
|
Вот процедура заполнения табличного поля.
Процедура КоманднаяПанельЗаполнить(Кнопка) ТабличноеПоле.Очистить(); Для Счетчик = 1 по 4 Цикл ЭлементыФормы.ТабличноеПоле.ДобавитьСтроку(); ТекущаяСтрока = ЭлементыФормы.ТабличноеПоле.ТекущаяСтрока; ТекущаяСтрока.Номер = Счетчик; ТекущаяСтрока.Значение = ТекущаяДата(); КонецЦикла; КонецПроцедуры А вот процедура поиска и окрашивания Процедура ТабличноеПолеПриПолученииДанных(Элемент, ОформленияСтрок) Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл Если СтрНайти(ОформлениеСтроки.ДанныеСтроки["Значение"], Подсветить_строки) > 0 Тогда ОформлениеСтроки.ЦветФона = WebЦвета.Желтый; КонецЕсли; КонецЦикла; КонецПроцедуры Когда отладчик доходит до строчки ЭлементыФормы.ТабличноеПоле.ДобавитьСтроку(); То переходит в процедуру ТабличноеПолеПриПолученииДанных, хотя мне это не надо |
|||
|
13
lucbak
21.07.18
✎
11:04
|
(12) Подсветить_строки - это дата?
|
|||
|
14
Cool_Profi
21.07.18
✎
11:08
|
ТекущаяСтрока.Значение = ТекущаяДата()
СтрНайти(ОформлениеСтроки.ДанныеСтроки["Значение"], Подсветить_строки) Протяни руки, мы их будем медленно отрумать-твою.... |
|||
|
15
MegaRoks
21.07.18
✎
11:10
|
Нет, в значение будет значение, но пока что я туда кладу дату для проверки. В значение будет код, который например 4rt56
|
|||
|
16
MegaRoks
21.07.18
✎
11:13
|
Все работает, проблема только в том что когда я нажимаю заполнить таблицу, она вся окрашивается в желтый, как этого избежать?
|
|||
|
17
lucbak
21.07.18
✎
11:22
|
(16) Во первых - зачем ты вообше добавляешь строки через "ДобавитьСтроку" ? Что такое "ТабличноеПоле" ? это табличнаяЧасть ? делай просто через НоваяСтрока=ТабличноеПоле.Добавить() Где "ТабличноеПоле" это "Данные".
Во вторых все, что у тебя не работает это условие - во его и проверяй (а то ты так и не можешьсказать, что у тебя в переменной "Подсветить_строки" сейчас находится) |
|||
|
18
MegaRoks
21.07.18
✎
11:27
|
Табличное поле это компонент с типом таблица значение. Я не могу понять что в моем условии не правильно
|
|||
|
19
lucbak
21.07.18
✎
12:28
|
(18)
Для начала измени свой код на: Процедура КоманднаяПанельЗаполнить(Кнопка) тзДанные.Очистить(); Для Счетчик=1 по 4 Цикл НоваяСтрока=тзДанные.Дбавить(); НоваяСтрока.Номер=Счетчик; НоваяСтрока.Значение=ТекущаяДата(); КонецЦикла; КонецПроцедуры //Где "тзДанные" - название твоей таблицы значений (то, что написано в поле "Данные" твоего табличного поля) |
|||
|
20
sechs
21.07.18
✎
13:03
|
(16) Кури СП по СтрНайти до просветления, т-щ погромист. Особенно часть между "Доступность" и "Примечание".
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |