Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Пользователю устанавливать флажки в ТаблПоле (число прочтений - 4538 )
jbond
Full Member
***
Отсутствует


1С++ Programmer

Сообщений: 140
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Пользователю устанавливать флажки в ТаблПоле
09. Июня 2006 :: 04:59
Печать  
Сделал возможность показа флажков:

Процедура ПриВыводеСтроки(ОформлениеСтроки, ДанныеСтроки) Экспорт
....
Если ЭтоПодвал = 0 Тогда
 ДатаЯч.ОтображатьФлажок = 1;
 Если ЭтоВыходной = 1 Тогда
    ДатаЯч.ЗначениеФлажка = 0
 Иначе
    ДатаЯч.ЗначениеФлажка = 1
 КонецЕсли;
КонецЕсли;

Обработчик
Процедура ПриВыбореФлажка() Экспорт
     Сообщить("ПриВыбореФлажка");
КонецПроцедуры

тоже работает.
Но как пользователю снимать/ставить флажки - не очень понятно.
А если флажки в нескольких столбцах?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Пользователю устанавливать флажки в ТаблПоле
Ответ #1 - 09. Июня 2006 :: 05:14
Печать  
общая методика такая:
Свойство оформления ячейки ОтображатьФлажок должно зависеть (прямо или косвенно) от неких данных в ДанныеСтроки.
В событии ПриВыбореФлажка() нужно изменять те данные от которых зависит отображение флажка.

Тут важно понять, что само состояние флажка каждой ячейки нигде не хранится. Просто его отображение определяется только при выводе строки на основании данных строки.
  

1&&2&&3
Наверх
 
IP записан
 
jbond
Full Member
***
Отсутствует


1С++ Programmer

Сообщений: 140
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Пользователю устанавливать флажки в ТаблПоле
Ответ #2 - 09. Июня 2006 :: 05:20
Печать  
Т.е. до ОформлениеЯчейки :: ЗначениеФлажка можно добраться только из
ПриВыводеСтроки(ОформлениеСтроки, ДанныеСтроки)

А в 8-ке у ТабличногоПоля такая же идеология?
  
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3050
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Пользователю устанавливать флажки в ТаблПоле
Ответ #3 - 09. Июня 2006 :: 05:32
Печать  
jbond писал(а) 09. Июня 2006 :: 05:20:
Т.е. до ОформлениеЯчейки :: ЗначениеФлажка можно добраться только из
ПриВыводеСтроки(ОформлениеСтроки, ДанныеСтроки)

именно т.к. ОтображатьФлажок это атрибут объекта ОформлениеЯчейки, а он живет только в событии ПриВыводеСтроки
  

1&&2&&3
Наверх
 
IP записан
 
1cvirus
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 89
Зарегистрирован: 24. Мая 2006
Re: Пользователю устанавливать флажки в ТаблПоле
Ответ #4 - 09. Июня 2006 :: 07:10
Печать  
немного не в тему - почему привыводестроки отрабатывает 2 раза?
или это у меня чето не так?
  
Наверх
 
IP записан
 
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
Re: Пользователю устанавливать флажки в ТаблПоле
Ответ #5 - 18. Июня 2009 :: 05:29
Печать  
а как в ПриВыбореФлажка
считать то значение которое лежит в поле "под флажком"
в общем в поле "Чеккед" которое выдает поставщик данных
лежит либо 1 либо 0
и мне надо соответственно его поменять
а вот считать из "флажка" в обозначенной выше процедуре я не могу...точнее не получается
подскажите как это сделать...
  

КонецЕсли;
Наверх
ICQ  
IP записан
 
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
Re: Пользователю устанавливать флажки в ТаблПоле
Ответ #6 - 18. Июня 2009 :: 05:36
Печать  
тпСклады.ТекущиеДанные.Получить("Чеккед")
вот так в моем случае....сорри други. взбаламутил всех...
  

КонецЕсли;
Наверх
ICQ  
IP записан
 
skom
Junior Member
**
Отсутствует


"Hallo World"

Сообщений: 84
Местоположение: г.Кемерово
Зарегистрирован: 16. Января 2007
Пол: Мужской
Re: Пользователю устанавливать флажки в ТаблПоле
Ответ #7 - 18. Июня 2009 :: 06:20
Печать  
Дж.БОНД

если еще не нашел
у меня это получилось так

Процедура тпКнопка_ПриВыбореФлажка(тп, стр, Колонка, ТипРегиона)
     Если флСообщения=1 Тогда
           сообщить("ПриВыбореФлажка");
     КонецЕсли;
     //Параметры:
     //
     //Строка - тип: определяется поставищком данных. Значение, идентифицирующее строку ТП.
     //Колонка - тип: КолонкаТабличногоПоля
     //ТипРегиона - тип: ТипыРегионовТП
     //Описание: Возникает, когда пользователь изменяет значение флажка.
     //Сообщить(Стр.Получить("Чеккед"));
     текФлаг = тпСклады.ТекущиеДанные.Получить("Чеккед");
     ИД       = тпСклады.ТекущиеДанные.Получить("ИД");
     //новФлаг = 1 - текФлаг;
     ОбновитьФлажок = "
     |UPDATE
     |  docs
     |SET
     |  docs.checked1c = " + (1-текФлаг) + "
     |WHERE
     |  docs.id = "+ИД+"
     |";
     РС.ВыполнитьСкалярный(ОбновитьФлажок);
     тпСклады.ОбновитьСтроки();
     
КонецПроцедуры
  

КонецЕсли;
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать