Цитата:
Изначально опубликовано Андре
ОК. Для начала давай определимся с тем, что мы хотим получить.
...
Нас интересует первый пункт или второй ? Или оба сразу ? Тогда это наверное должны быть две разных задачи.
Согласен, это две разные задачи. Причем вторая - гораздо более трудоемкая, чем первая. Поэтому предлагаю, решая первую, выявить все подводные камни и затем, в случае успешного решения, думать о реализации второй.
Цитата:
Изначально опубликовано Андре
Какие мы преимущества получаем по сравнению с использованием стандартного грида ? Возможность очень гибкого обращения с каждой ячейкой. Вот пожалуй и все.
Нет, не все. Получая контроль над представлением, мы получим возможность задуматься о решении следующих задач, в разное время встававших и нерешенных:
- Фильтрация по display-методам.
- Адекватное поведение бегунка (scroll bar)
- Реализация того, что в Navision называется фильтр безопасности, а в Axapta 3.0 - контроль доступа на уровне записи
- Копирование в clipboard только видимых столбцов
Цитата:
Изначально опубликовано Андре
Вопрос второй - концептуальный - как все это реализовать.
...
Например, это должен быть отдельный класс, имеющий свойства типа FormTableControl и FormDataSource.
...
Не совсем изящная конструкция, но более удачного решения я пока не вижу. Может есть еще варианты ?
Других вариантов тоже не вижу. Думаю, что не видят их и разработчики Navision. Посмотри хотя бы, как они реализуют wizard'ы. Те же классы, цепляющиеся к обычным формам и толкающие туда, все что нужно. Явное отсутствие изящности и тяжеловесность конструкции компенсируются наличием мастера, автоматизирующего создание нового мастера.