Показать сообщение отдельно
Старый 11.05.2012, 16:07   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,443 / 1781 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Как минимум нужна ветка else, возвращающая возможность редактирования, если пользователь вернулся на доступную к редактированию строку.
X++:
    if (rContractTable.ContractType == Agreement::PrimaryContract)
    {
        fld.allowEdit(false);
    }
    // -->>
    else
    {
        fld.allowEdit(true);
    }
    // <<--
Тогда такой if можно вообще заменить одной строкой:
X++:
// -->>
//    if (rContractTable.ContractType == Agreement::PrimaryContract)
//    {
//        fld.allowEdit(false);
//    }
//    else
//    {
//        fld.allowEdit(true);
//    }
    fld.allowEdit(rContractTable.ContractType != Agreement::PrimaryContract);
// <<--