02.02.2006, 08:06 | #1 |
Мрачный тип
|
Получение текущего списка Range'ей
Подскажите пожалуйста, нигде не смог нарыть - ни в поиск, ни в документации ...
Как программно получить доступ к списку установленных на текущий момент Range'ей и вытащить все соответсвующие поля отттуда (таблица, поле, значение) ? |
|
02.02.2006, 08:16 | #2 |
Мрачный тип
|
Через 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). |
02.02.2006, 08:43 | #3 |
Moderator
|
Может быть, можно текст окончательного SELECTа после нажатия пользователем ОK посмотреть?
Там же уже должны сформироваться все критерии? Другое дело, что его парсить, конечно, запарно... |
|
02.02.2006, 09:04 | #4 |
NavAx
|
Попробуй вытащить из RAssetTable_DS.queryRun().Query()
PHP код:
Последний раз редактировалось raz; 02.02.2006 в 09:10. |
|
02.02.2006, 09:21 | #5 |
Мрачный тип
|
Спасибо большое !!
Заработало !! |
|