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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.09.2009, 17:34   #12  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Alexanderrrr когда сообщение пишите на панели есть кнопочка Х++.
Код будет смотрется лучше.
Сейчас он выглядит ужасно.
После
X++:
 c++;
добавьте
X++:
        if (c >= 2)
            break;
Зачем мучить аксапту. Ведь вам интересно есть ли строки и что их больше 1.
А две или 10 вам уже без разницы.
Вот так же красивее.
X++:
void clicked()
{
    QueryBuildDatasource    pointTable;
    query q;
    queryBuildRange qbr;
    RContractTable              RContract;
    ObjectTable              object;
    PointAccountTable        pointAccount;
    int c;
;

    for (RContract = RContractTable_ds.getFirst(true) ? RContractTable_ds.getFirst(true) : RContractTable_ds.cursor(); 
        RContract;
        RContract = RContractTable_ds.getNext())
    {
        c++;
    }

    qbr=pointTable.findRange(FieldNum(ICLPointAccountTable,PointAccountId));
    if (qbr)
    {
        for (RContract = RContractTable_ds.getFirst(true) ? RContractTable_ds.getFirst(true) : RContractTable_ds.cursor(); 
            RContract;
            RContract = RContractTable_ds.getNext())
        {
            object = RContract.joinChild();
            pointAccount = object.joinChild();
            qbr.value(qbr.value()+',!'+pointAccount.PointAccountId);
        }
    }
    else
    {
        if (c==1)
        {
            qbr=pointTable.addRange(FieldNum(ICLPointAccountTable,PointAccountId));
            qbr.value('!'+ICLPointAccountTable.PointAccountId);
        }
        else
        {
            qbr=pointTable.addRange(FieldNum(ICLPointAccountTable,PointAccountId));
            for (RContract = RContractTable_ds.getFirst(true) ? RContractTable_ds.getFirst(true) : RContractTable_ds.cursor(); 
                RContract;
                RContract = RContractTable_ds.getNext())
            {
                object = RContract.joinChild();
                pointAccount = object.joinChild();

                qbr.value(qbr.value()+',!'+pointAccount.PointAccountId);
            }
        }
    }
    RContractTable_ds.research();
}
Раньше, когда я только начинал, ведущий у меня не принимал задачу, если отступления были не там где надо или их не было. Придирался к мелочам.
Но я с ним был согласен. Потом, смотреть как выглядит код когда уже всё готово, стало привычкой.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
За это сообщение автора поблагодарили: Alexanderrrr (1).
Теги
grid, позиционирование

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Открытие формы с деталями активной записи в гриде sweeper DAX: Программирование 4 19.09.2008 15:55
Обработка события нажатие клавиши на гриде berlioz DAX: Программирование 17 27.09.2006 09:48
как перечислить все колонки в гриде ? Omeo DAX: Программирование 5 16.06.2004 09:22
Позиционирование при переходе к основной таблице dn DAX: Программирование 2 29.01.2004 18:35
Lookup поля в Гриде NeveB DAX: Программирование 1 10.12.2003 12:18

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

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

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