Показать сообщение отдельно
Старый 02.02.2006, 08:16   #2  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
885 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
Через Query получаем список QueryBuildDataSource'ов, через них список Range'ей - но это список только тех, что программно или в дизайнере сделаны . А если пользователь добавил - то пользовательские ограничения не видны...

Есть на форме датасорс, к которому привязаны несколько других датасорсов(динамически привязывается). Наложено 3 Range..
запускаю форму, добавляю свои ограничения дополнительно , после закрытия диалога установки ограничений пытаюсь вытащить их список

Код:
    int i,cnti,j,cntj;
    QueryBuildDatasource qbds;
    QueryBuildRange qbr;

    RAssetTable_DS.queryRun().prompt();

    cntj=RAssetTable_DS.query().dataSourceCount();
    for(j=1;j<=cntj;j++)
    {
        qbds=RAssetTable_DS.query().dataSourceNo(j);
        cnti=qbds.rangeCount();
        for(i=1;i<=cnti;i++)
        {
            qbr=qbds.range(i);
            info(tableid2pname(qbr.table())+" - "+fieldid2pname(qbr.table(),qbr.field())+" - "+qbr.value());
        }
    }
В результате вижу только установленные программно ограничения, ручных не вижу ...

Как-то проще и правильнее можно добраться до этого списка ограничений ?

Последний раз редактировалось TasmanianDevil; 02.02.2006 в 08:42.
За это сообщение автора поблагодарили: DreamCreator (2).