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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.11.2018, 11:46   #1  
yuriy_64 is offline
yuriy_64
Участник
 
88 / 10 (1) +
Регистрация: 21.03.2014
Переименовать колонку в grid
Доброе время суток. Есть грид с колонками R1..R35. Заголовки колонок соответственно тоже R1..R35. Столбиком сделал.
Temp_Flx_R1.label(NewName);
Хотелось бы тоже самое сделать в цикле.
Старый 20.11.2018, 17:56   #2  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,691 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Как организовать в цикле перебор столбцов Grid? Посмотрите по перекрестным ссылкам как используется метод

\System Documentation\Classes\FormBuildGridControl\controlCount

Только, не стоит оно того. Такой код будет крайне сложно сопровождать. Он будет труден для понимания и внесения изменений. 35 строк - проще во всех смыслах

С другой стороны, если у Вас такая задача вообще возникла, то это означает, что "в консерватории надо что-то подправить". Обычно все-таки устраивает значение Label из реквизитов поля таблицы-источника. Значит, или Вы поленились написать нужные Label или хотите какой-то универсальный инструмент. Что также вызывает сомнения
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: yuriy_64 (-1).
Старый 21.11.2018, 08:58   #3  
yuriy_64 is offline
yuriy_64
Участник
 
88 / 10 (1) +
Регистрация: 21.03.2014
Пишите столбиком. У меня на это ушло всего 2 строчки.
Старый 21.11.2018, 20:18   #4  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
674 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
я делал вот так для динамического изменения меток столбцов при изменении даты

Нажмите на изображение для увеличения
Название: interface.png
Просмотров: 223
Размер:	118.3 Кб
ID:	12147

Нажмите на изображение для увеличения
Название: wblGroupMonths.png
Просмотров: 231
Размер:	278.3 Кб
ID:	12148

X++:
private void setFormGroupControlMonthSequence()
{
    int                                 i;
    FormRealControl                     cell;
    int                                 monthNum    = mthOfYr(dateToday);
    int                                 yearNum     = year(dateToday);

    if(!groupMonths)
    {
        return;
    }

    for (i = 1; i <= NumOfMonths && i <= groupMonths.controlCount(); i++)
    {
        cell        = groupMonths.controlNum(i);
        if(i > NumOfMonths)
        {
            cell.visible(false);
        }
        else
        {
            cell.label(strFmt("%1 (%2)", wblInvUsageFormEngine::monthNum2ShortName(monthNum, languageId), yearNum));
            cell.visible(true);
            if(monthNum <= 1)
            {
                monthNum = 12;
                yearNum--;
            }
            else
            {
                monthNum--;
            }
        }
    }
}
__________________
Felix nihil admirari
Старый 22.11.2018, 09:05   #5  
yuriy_64 is offline
yuriy_64
Участник
 
88 / 10 (1) +
Регистрация: 21.03.2014
Большое спасибо.
Старый 22.11.2018, 12:10   #6  
yuriy_64 is offline
yuriy_64
Участник
 
88 / 10 (1) +
Регистрация: 21.03.2014
Да, это подходит для того случая, когда колонки расположены по порядку. Как сделать поиск по наименованию?
У меня стоит axapta3.0, выражение
cell = Temp_R.controlNum(i_Col);
cell.label(NewName);
cell.visible(true);
Переименовывает, но не делает видимым.
Старый 22.11.2018, 21:31   #7  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
674 / 512 (19) +++++++
Регистрация: 27.04.2006
Адрес: Montreal
перебирай все колонки и ищи с нужным именем. примерно вот так:

X++:
// returns the batch caption form control if any in the dialog
private FormStringControl getBatchCaptionControl(DialogRunbase _dialog)
{
    FormStringControl                  batchCaptionControl;

    // recursive routine to look for the right form control of BatchCaption EDT
    Object findBatchCaptionControl(Object _parentObject)
    {
        int         i;
        Object      childControl;
        Object      foundControl;


        for (i = 1; i <= _parentObject.controlCount(); i++)
        {
            childControl = _parentObject.controlNum( i );

            // this is our boy
            if( childControl is FormStringControl && childControl.extendedDataType() ==  extendedTypeNum(BatchCaption))
            {
                // time to get up
                return childControl;
            }
            else
            {
                if (childControl is FormGroupControl)
                {
                    foundControl = findBatchCaptionControl(childControl);
                    if (foundControl)
                    {
                        return foundControl;
                    }
                }
            }
        }
        // just step back to check others
        return null;
    }
/////// main routine  /////////////////////////////////////////////////////////////
    if( _dialog && _dialog.batchDialogTabPage())
    {
        batchCaptionControl = findBatchCaptionControl(_dialog.batchDialogTabPage().control());
    }

    return batchCaptionControl;
}
__________________
Felix nihil admirari
За это сообщение автора поблагодарили: yuriy_64 (1).
Теги
grid, колонки, переименовать

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
d365technext: Card Pattern in Grid D365FO & AX 7 Blog bot DAX Blogs 0 02.08.2018 11:11
atinkerersnotebook: Self Service Reporting For Users – Part 2: Use Edit in Grid as your Reporting Worksheet Blog bot DAX Blogs 0 06.10.2015 15:11
tlefor: Dynamics AX 2012: How Wide is my Grid Column? Blog bot DAX Blogs 0 28.10.2013 10:11
axaptapedia: Filter-by-Grid Blog bot DAX Blogs 2 30.05.2012 13:39
Dynamics AX: DAX 4.0 Filter by Grid [Update] Blog bot DAX Blogs 0 27.04.2007 17:10
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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