1

У меня есть одна техническая проблема, которая нужна эксперту, чтобы помочь. : -)Как применить два запроса в одном классе RDP

Я использую два запроса в одном классе RDP. Таким образом, я заявил следующее:

SRSReportQueryAttribute (querystr(QueryOne)), 
SRSReportQueryAttribute (querystr(QueryTwo)), 
SRSReportParameterAttribute(classstr(ContractClass)) 

Сверху вы увидите, что есть два запроса и один контрактный класс.

Однако в методе «processReport» класса RDP я не могу ссылаться на конкретный запрос.

Общее утверждение:

query = this.parmQuery(); 

То, что я хотел бы сделать это, чтобы объявить два объекта запроса, и первый для QueryOney, а второй для QueryTwo.

спасибо.

ответ

1

Извините, но вы не можете иметь более одного SRSReportQueryAttribute в data provider class по той причине, что обнаружили себя.

То, что я считаю вам может сделать, заключается в том, чтобы запрос возвращал более одного источника данных, а затем указывал более одного метода геттера с помощью SRSReportDataSetAttribute.

Я не проверял, хотя :)

+0

Hello Jan. Ваше предложение очень полезно. Я также задал этот вопрос с моим старшим техническим специалистом, и ответ схож. У нас не может быть более одного запроса в одном классе RDP. Я хотел бы иметь два запроса, потому что мне нужны два набора «динамических параметров», которые автоматически приходят с настройкой «range» в запросе. Теперь я изменяю способ использования статических параметров вместо (через класс контракта) Благодарим вас за советы. – axbaby

0

Вы можете использовать несколько запросов в классе DP. Существует простое решение для вашего вопроса. Вам не нужно SRSReportQueryAttribute() в вашем классе. Попробуйте этот код в вашем классе DP. Работает на меня.

query = new Query(); 
    if (parameter) 
    {   
     query.addBaseQuery('query1');   
    } 
    else 
    {   
     query.addBaseQuery('query2'); 
    } 
Смежные вопросы