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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.02.2003, 11:00   #1  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Гибрид FormTableControl и FormDataSource
Цитата:
Изначально опубликованно Maxim Gorbunov

Почему бы не написать класс, который бы цеплялся к FormDataSource и FormTableControl (ну, соответственно во всех обработчиках событий вызывать методы класса), а в нем уже управлять заполнением таблицы? При высоких (здесь не спорю) трудозатратах на программирование получаем очевидное преимущество в виде достаточно гибкого (по крайней мере по сравнению с Grid) в настройке контрола для отображения данных. Сразу говорю, что сам такое делать не буду, ибо времени нет Идею отдаю бесплатно (да и не нова она).
ОК. Для начала давай определимся с тем, что мы хотим получить. Как я понимаю, мы хотим получить разновидность FormTableControl, которая обладая всеми свойствами FormTableControl может еще:

1. Отображать содержимое FormDataSource
2. Отображать ResultSet

Нас интересует первый пункт или второй ? Или оба сразу ? Тогда это наверное должны быть две разных задачи.

Рассмотим оба варианта:

1. FormTableControl, отображающий содержимое FormDataSource. Какие мы преимущества получаем по сравнению с использованием стандартного грида ? Возможность очень гибкого обращения с каждой ячейкой. Вот пожалуй и все. Или я что-то не улавливаю ? Хотя, как я понял речь, речь шла именно об этом варианте.

2. FormTableControl, умеющий ResultSet, как результат выполнения Statement. В этом случае мы получаем возможность сделать то, что вообще не реализованно в Аксапте, а именно сделать ЛЮБОЙ запрос на SQL Server (с какими угодно наворотами, не поддерживаемыми Аксаптой) и полученный результат отобразить виде таблицы.

Итак, сначала давай решим, какую из этих задач мы решаем.


Вопрос второй - концептуальный - как все это реализовать. Если бы я программировал на обычном языке программирования, я бы сделал следующее: создал наследника от FormTableControl, добавил бы ему свойство типа FormDataSource и переписал бы методы отвечающие за его отображение и редактирование. Но Аксапта не обычный язык рограммирования, поэтому этот способ здеь не пойдет. Если наследника FormTableControl я создать еще могу:

class dem_Table extends FormTableControl
{
}

то поместить его как компонент на форму практически не возможно. Или кто-то знает такой способ ?

Значит надо делать как-то по другому. Например, это должен быть отдельный класс, имеющий свойства типа FormTableControl и FormDataSource. Во всех обработчиках событий FormTableControl будут вызываться методы этого класса, которые, в свою очередь будут обращаться к FormDataSource. Не совсем изящная конструкция, но более удачного решения я пока не вижу. Может есть еще варианты ?
Теги
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, время: 04:30.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.