![]() |
![]() |
![]() |
|
Флажки в табличном поле (установленные) | ☑ | ||
---|---|---|---|---|
0
extrim-style
23.02.11
✎
11:04
|
8.1 Имеется табличное поле и колонка с флажками, которые должны быть установлены по умолчанию с возможностью изменения. Колонка не связана с данными (хранить значения флажков не требуется), необходима только для выбора строк и их обработки. Колонка с пустым элементом управления, режим редактирования - непосредственно. Код:
[code]Процедура ТабПолеПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) ОформлениеСтроки.Ячейки["Колонка3"].ОтображатьТекст = Ложь; ОформлениеСтроки.Ячейки["Колонка3"].ОтображатьФлажок = Истина; КонецПроцедуры[/code] - так всё работает, но флажки сняты. Добавляю: [code]ОформлениеСтроки.Ячейки["Колонка3"].Флажок = Истина; [/code] - флажки устанавливаются, но перестают редактироваться. Программно изменять флажки через ТабПолеПриИзмененииФлажка не получается, не могу к ним обратиться (и соответственно не знаю как обработать). Подскажите, как тут поступить. |
|||
1
Рэйв
23.02.11
✎
11:11
|
ОформлениеСтроки.Ячейки["Колонка3"].Значение=Истина;
|
|||
2
extrim-style
23.02.11
✎
11:54
|
(1) Так не получается. Флажки сняты.
|
|||
3
Rie
23.02.11
✎
11:56
|
(0) Хранить не хочется - а придётся. Пусть не в табличной части, а где-то ещё.
|
|||
4
extrim-style
23.02.11
✎
11:57
|
Ну а я не могу хранить в форме? Как элементы формы?
|
|||
5
Rie
23.02.11
✎
12:01
|
(4) Что табличное поле отображает?
|
|||
6
extrim-style
23.02.11
✎
12:05
|
Табличное поле отображает некоторый список шаблонов (2 поля - наименование(строка) и список(список значений))
|
|||
7
extrim-style
23.02.11
✎
12:09
|
(5) наверное имелось ввиду содержание табличного поля - это таблица значений.
|
|||
8
Rie
23.02.11
✎
12:19
|
(7) Ну так а кто мешает добавить в эту таблицу значений колонку типа Булево?! Сразу ведь проблема напрочь исчезнет.
|
|||
9
extrim-style
23.02.11
✎
12:36
|
(8) А данные мне какие использовать? Данные или ДанныеФлажка? Запутался напрочь.
|
|||
10
extrim-style
23.02.11
✎
12:52
|
Почему после установки значения поле перестаёт редактироваться?
|
|||
11
kosts
23.02.11
✎
13:01
|
ТабличноеПоле2.Колонки.Добавить("Пометка", Новый ОписаниеТипов("Булево"));
Колонка = ЭлементыФормы.ТабличноеПоле2.Колонки.Вставить(0, "Пометка"); Колонка.Имя = "Пометка"; Колонка.Данные=""; Колонка.ДанныеФлажка = "Пометка"; Колонка.РежимРедактирования = РежимРедактированияКолонки.Непосредственно; |
|||
12
Рэйв
23.02.11
✎
13:12
|
(10)Я в (1) думал ты понормальному добавил:)
реквизит формы сделай данными.Храниться не будет, а (1) нормально отработает |
|||
13
extrim-style
23.02.11
✎
13:16
|
(12) "реквизит формы сделай данными" - я это не понял.
|
|||
14
extrim-style
23.02.11
✎
13:22
|
(11) Это можно установить и интерактивно, только тип нельзя будет описать, т.к. данные пустые.
Вставил ваш код в ПриОткрытии() - пустая колонка добавляется с возможностью редактирования. Но мне нужно сразу галочки проставить - ставлю галочку - не могу редактировать: [code]ОформлениеСтроки.Ячейки["Колонка3"].Флажок = Истина; [/code] |
|||
15
extrim-style
23.02.11
✎
13:24
|
Флажки ставлю при выводе строки
|
|||
16
Рэйв
23.02.11
✎
14:01
|
Попробуй
ОформлениеСтроки.Ячейки["Колонка3"].Флажок = 1 |
|||
17
Рэйв
23.02.11
✎
14:02
|
А вообще ты как то не там ставишь флаг...Потом еще уживдяешься что не редактируется. Правильно при выводе он всегда устанавливается. а вывод при любом изменении
|
|||
18
Рэйв
23.02.11
✎
14:03
|
он не "не редактируется", он просто все время включается
|
|||
19
extrim-style
23.02.11
✎
14:36
|
(16) Если я поставлю =1, то это будет означать только то, что флажок имеет 3 состояния. В любом случае попробовал - безрезультатно.
(17) (18) - Да, действительно дело в этом - спасибо! Теперь целая история это обработать. Может лучше через хранение сделать, как говорили выше? Я согласен хранить в таблице значений дополнительную колонку типа Булево, но не совсем понимаю, как мне всё это связать? |
|||
20
Rie
23.02.11
✎
15:23
|
(19) В колонке табличного поля с флажком - укажи ДанныеФлажка.
|
|||
21
extrim-style
24.02.11
✎
14:25
|
Сделал через хранение, может кому пригодится:
Завел в ТЧ колонку Использование, в свойствах колонки Данные - пустые, ДанныеФлажка - пустые, от изменения РежимаРедактирования разницы не заметил - всё и так работает. [code] Процедура ПриОткрытии() Для каждого Элемент из ТабПоле цикл Элемент.Использование = Истина; КонецЦикла; ... КонецПроцедуры Процедура ТабПолеПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) ОформлениеСтроки.Ячейки["Использование"].ОтображатьТекст = Ложь; ОформлениеСтроки.Ячейки["Использование"].ОтображатьФлажок = Истина; ОформлениеСтроки.Ячейки["Использование"].Флажок=ДанныеСтроки.Использование; КонецПроцедуры Процедура ТабПолеПриИзмененииФлажка(Элемент, Колонка) Элемент.ТекущаяСтрока.Использование = НЕ Элемент.ТекущаяСтрока.Использование; КонецПроцедуры [/code] |
|||
22
kosts
24.02.11
✎
14:38
|
Колонка с флажком добавляется на форму и больше ничего в модуле не нужно делать, все должно работать. ТабПолеПриВыводеСтроки() К тому же при отсутствии строк будет вылетать с ошибкой (лучше использовать ПриПолученииДанных() ну или делать проверку) ТабПолеПриИзмененииФлажка() - К тому же, что будет если кто нибудь добавит еще один флажок... |
|||
23
extrim-style
24.02.11
✎
15:19
|
(22) ЗаполнитьЗначения - да, действительно, спасибо.
"Колонка с флажком добавляется на форму и больше ничего в модуле не нужно делать, все должно работать." - если бы... ПриВыводеСтроки() - нет проблем с пустыми строками.. ПриПолученииДанных() - при изменении флажка, допустим, можно обработать здесь, но после обработки ТЧ обновляется и проходит по всем строкам через ПриВыводеСтроки(), соответственно обнуляя Использование, если в ПриВыводеСтроки() пусто. ПриИзмененииФлажка() - всмысле кто-то добавит новую запись? Всё нормально - добавляется пустой флажок по умолчанию. |
|||
24
kosts
24.02.11
✎
15:28
|
(23)
>> ПриИзмененииФлажка() - всмысле кто-то добавит новую запись? Всё нормально - добавляется пустой флажок по умолчанию. В смысле другой разработчик добавит еще одну колонку с флажком. Рекомендую так >>ПриПолученииДанных() - при изменении флажка, допустим, можно обработать здесь, но после обработки ТЧ обновляется и проходит по всем строкам через ПриВыводеСтроки(), соответственно обнуляя Использование, если в ПриВыводеСтроки() пусто. Если честно - ничего не понял. >>"Колонка с флажком добавляется на форму и больше ничего в модуле не нужно делать, все должно работать." - если бы... Если тип Табличного поля = ТаблицаЗначений, то это действительно так, ничего больше не нужно. Делаю так - добавляю колонку - стираю "Данные" - Вписываю "ДанныеФлажка" - Ставлю режим редактирования "Непосредственно" - Профит |
|||
25
extrim-style
25.02.11
✎
09:01
|
(23) Да, действительно, тема высосана из пальца - сам накосячил... Достаточно Данных флажка и Непосредственно. kosts, спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |