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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.04.2016, 15:03   #1  
Hyper is offline
Hyper
Участник
Соотечественники
 
163 / 29 (1) +++
Регистрация: 09.10.2003
? Ширина колонки FormTableControl
Была подобная тема 5 лет назад, а вопросы все те же.

Не пойму, что можно сделать с шириной колонки в созданном FormTableControl.

Проблема 1: в зависимости от выбора пользователя, к примеру, вторая колонка FormTableControl будет показывать или StringEdit или IntEdit, у которых должна быть разная ширина (StringEdit: 100, IntEdit: 50). Однако, ширина колонки, судя по всему, определяется раз и навсегда при первоначальной инициализации FormTableControl.

Проиллюстрирую на примере стандартной формы tutorial_Form_Table.
На элементе EditLine установите свойство Width = 100 и перекройте метод modified:
X++:
public boolean modified()
{
    boolean ret = super();

    Table.update();

    return ret;
}
На элементе IntEdit установите свойство Width = 50.
Наконец, измените метод Table.editControl таким образом:
X++:
FormControl editControl(int column, int row)
{
    if ((column == 2) || (column == 4))
    {
        if (Table.cell(1,1).data() == 'AAA')
            return editline;
        else 
            return intEdit;
    }
    else
    {
        return editline;
    }
}
После этого при открытии формы колонки №2 и 4 (IntEdit) будут в два раза уже колонок №1, 3 и 5 (StringEdit).
Введем AAA в самое первое поле (в верхнем левом углу).
Дизайн обновится (колонки №2 и 4 будут показывать StringEdit), но ширина колонок при этом осталась 50, а не стала 100.

Для меня это большая проблема, так как я пытаюсь использовать FormTableControl на форме, где и количество колонок и их тип может динамически меняться, так что невозможность управлять шириной колонки, разумеется, портит всю картину.

Проблема 2 сопутствующая - почему невозможно изменять ширину колонки с помощью мыши таким же образом, как в FormGridControl? Есть возможность обойти это ограничение?

Подозреваю, что решение проблемы 2 автоматически решит проблему 1.
Теги
formtablecontrol

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ширина колонки FormTableControl kia DAX: Программирование 4 07.09.2011 10:57
WebGrid - ширина колонок GromRom DAX: Программирование 6 14.07.2008 15:52
Ширина формы больше чем ширина экрана belugin DAX: Программирование 5 07.12.2005 15:56
Гибрид FormTableControl и FormDataSource Андре DAX: Программирование 27 01.10.2003 09:58
Сохранение настроек GRID (ширина и порядок колонок) liza DAX: Программирование 1 25.07.2003 22:20
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:50.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.