Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Класс РедакторТЗ (прямой ввод в ТЗ на форме) (число прочтений - 6898 )
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Класс РедакторТЗ (прямой ввод в ТЗ на форме)
26. Сентября 2006 :: 13:37
Печать  
Класс - наследник АктивИкс. Позволяет редактировать ТаблицыЗначений.
Простые типы (число, строка, дата) редактируются непосредственно в ячейке.
Использован компонент VideoSoft FlexGrid 7.0
В архиве сам класс и пример его использования.
Код
Выбрать все
Процедура ПриОткрытии()
    гФорма=СоздатьОбъект("Форма");
    гФорма.УстановитьФорму(Форма); //ФормаПриСоздании
КонецПроцедуры

Процедура ФормаПриСоздании() //событие от класса Форма
	//здесь первоначальное заполнение ТЗ
	РедакторТЗ=гФорма.СоздатьЭлементУправления("РедакторТЗ","ФТаблица");
	РедакторТЗ.Инициализация(ТЗ,2,1);
КонецПроцедуры
 


Класс сырой. Принимаются предложения по доработке.
  

vtedit.rar ( 20 KB | Загрузки )

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс РедакторТЗ (прямой ввод в ТЗ на форме)
Ответ #1 - 26. Сентября 2006 :: 13:56
Печать  
скриншот
  

vtedit.JPG ( 10 KB | Загрузки )
vtedit.JPG

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс РедакторТЗ (прямой ввод в ТЗ на форме)
Ответ #2 - 26. Сентября 2006 :: 14:41
Печать  
steban писал(а) 26. Сентября 2006 :: 13:37:
Принимаются предложения по доработке.

Никто не хочет сделать ввод значений агрегатных типов при наборе первых символов (или подстроки) как в соседней ветке
Я этот класс буду использовать пока только для ввода чисел.
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс РедакторТЗ (прямой ввод в ТЗ на форме)
Ответ #3 - 27. Сентября 2006 :: 06:54
Печать  
Из скачанного с ComponentOne архива надо зарегистировать vsflex7l.ocx
Код
Выбрать все
regsvr32 vsflex7l.ocx 


В defcls.prm написать
Код
Выбрать все
класс РедакторТЗ = РедакторТЗ.ert : АктивИкс
{
}; 

  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
Robert
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 86
Зарегистрирован: 20. Сентября 2006
Re: Класс РедакторТЗ (прямой ввод в ТЗ на форме)
Ответ #4 - 27. Сентября 2006 :: 17:13
Печать  
А табличное поле он не позволяет редактировать?
  
Наверх
ICQ  
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс РедакторТЗ (прямой ввод в ТЗ на форме)
Ответ #5 - 27. Сентября 2006 :: 18:48
Печать  
Нет. Только ТЗ.
А вообще редактирование данных в табличном поле - задача далеко не тривиальная.
И в общем случае не всегда возможная.
Например если в запросе используются агрегатные ф-и.
А если источник данных для ТП - журнал регистрации?
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
1cvirus
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 89
Зарегистрирован: 24. Мая 2006
Re: Класс РедакторТЗ (прямой ввод в ТЗ на форме)
Ответ #6 - 29. Сентября 2006 :: 11:31
Печать  
чето ошибка
РедакторТЗ.Инициализация(ТЗ,2,1);
{D:\BAZA\VTEDIT\ТЕСТРЕДАКТОРТЗ.ERT(44)}: Создание элемента управления VSFlexGrid.VSFlexGridL.1 не удалось

===========================================================================
РедакторТЗ::Инициализация(ТаблицаЗначений ТЗ=, Число ФиксированныхСтрок=2, Число ФиксированныхКолонок=1)
Грид=ФлексГрид.СоздатьЭУ("VSFlexGrid.VSFlexGridL.1");
{D:\baza\tren\Классы\РедакторТЗ.ert(26) }
===========================================================================
  
Наверх
 
IP записан
 
steban
1c++ developer
Отсутствует


#define sizeof(x) rand()

Сообщений: 787
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Класс РедакторТЗ (прямой ввод в ТЗ на форме)
Ответ #7 - 29. Сентября 2006 :: 13:30
Печать  
Код
Выбрать все
regsvr32 vsflex7l.ocx  

сделал?
  

int getRandomNumber()&&{&&  return 4; //chosen by fair dice roll&&         //guaranteed to be random&&}
Наверх
 
IP записан
 
1cvirus
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 89
Зарегистрирован: 24. Мая 2006
Re: Класс РедакторТЗ (прямой ввод в ТЗ на форме)
Ответ #8 - 29. Сентября 2006 :: 13:59
Печать  
steban писал(а) 29. Сентября 2006 :: 13:30:
Код
Выбрать все
regsvr32 vsflex7l.ocx  

сделал?

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