AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.02.2003, 12:49   #19  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Времени мало, поэтому сделал не много. Здесь я приложил проект - там форма и класс запусай класс.

Несколько пояснений. Вот new() этого класса:

PHP код:
void new(str _formName)
{
   
Args arg = new Args();
   
FormRun formRun;
   ;

   
colCount 0;
   
formName _formName;

   
// Столбцы нужно удалять в том же порядке, в каком они и создавались

   
this.addColumn("int");
   
this.addColumn("int");
   
// ...
   
this.createInit(formName);

   
arg.name(formName);

   
formRun ClassFactory.FormRunClass(arg);
   
formRun.init();
   
formRun.Run();
   
formRun.wait();

   
this.deleteColumn("int");
   
this.deleteColumn("int");
   
// ...

   
this.deleteInit(formName);


Что делает этот метод: в него передается имя формы.

Вот здесь:

PHP код:
   this.addColumn("int"); 
в таблицу на форме добавляются столбцы переданного типа.

P.S. 1. Реализованно только для int, но это легко расширяется.
1а. Класс ищет именно таблицу с именем Table и именно в корне design. В будущем расширяемо.
2. В addColumn происходит перекрытие textChange() для добавляемого столбца.
3. Как я понимаю именно это ты имел в виду здесь :

Цитата:
Давай сделаем так (пока не знаю, какие проблемы возникнут - еще не посмотрел): пусть столбцы добавляются динамически, но добавление регулирет программист (скажем, какой-то метод вызывает).
Затем форма запускается. После закрытия формы все, что в ней насоздавали подчищаем.

За всем этим делом лучше всего наблюдать так: открыть в отдельном окне форму, развернуть ветвь ее методов и контролов в Table и запустить класс. При этом форма откроется, а в АОТ'е будет видно, что в таблице создались контролы, а в форме соответствующие обработчики событий. После закрытия формы, в АОТ'е видно, что все созданное удалилось. Поиграйся(поскролируй) Table и ты увидишь, что для каждого столбца работает свой обработчик событий.

Итог: мы напускаем класс на форму с Table, класс генерит в этом табле кучу всего, запускает форму, после ее закрытия все подчищяет за собой.

Вроде как работает, но это пугает меня - самомодифицирующийся код никогда не отличался надежностью, легкостью сопровождения и отладки

В общем посмотри проект и скажи что думаешь.
Вложения
Тип файла: xpo dem_table.xpo (13.9 Кб, 337 просмотров)
Теги
table control

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
FormTableControl и сортировка AxDude DAX: Программирование 3 22.08.2007 08:12
Основы работы с FormTableControl PavelSR DAX: Программирование 12 21.09.2006 10:31
FormDataSource sassas DAX: Функционал 13 05.08.2004 17:25
Различные типы связей (LinkType) для FormDataSource Maxim Gorbunov DAX: База знаний и проекты 1 16.05.2004 13:20
Собственный SQL запрос в FormDataSource Alexey DAX: База знаний и проекты 0 20.12.2001 00:35

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:08.