Hi all,
I need to add a few criteria to a query in the listpageform, and prompt the user for criteria and then send that input to the datasource to executing my query. I have override the initializeQuery() like following:
public void initializeQuery(Query _query)
{
QueryRun qr;
SMAAgreementLine smaAgreementLine;
FormDataSource formDataSource = new FormDataSource();
_query.dataSourceNo(1).addRange(fieldNum(smaAgreementLine, Suspended)).value(SysQuery::valueUnlimited());
qr = new QueryRun(_query);
if(qr.prompt())
{
_query = qr.query();
}
super(_query);
}
|
After that open the form and change the filter to Service agreement "00001", click ok. But the result is not applied the new filter( the result is still SysQuery::valueUnlimited() filter).
We cannot send the user's input to datasource and execute the new filter.


After debugging, I found the query has been actually changed but not execute. Could you please help me? Thank you very much.
Query Repro_ServiceAgreementLineQuery object 1cbda3d0: SELECT * FROM SMAAgreementLine(SMAAgreementLine_1) WHERE ((AgreementId = N'00001')) JOIN * FROM SMAAgreementTable(SMAAgreementTable_1) ON SMAAgreementLine.AgreementId = SMAAgreementTable.AgreementId JOIN * FROM ProjTable(ProjTable_1) ON SMAAgreementTable.ProjId = ProjTable.ProjId JOIN * FROM ProjInvoiceTable(ProjInvoiceTable_1) ON ProjTable.ProjInvoiceProjId = ProjInvoiceTable.ProjInvoiceProjId JOIN * FROM ProjFundingSource(ProjFundingSource_1) ON ProjInvoiceTable.ProjInvoiceProjId = ProjFundingSource.ContractId OUTER JOIN Person, Person FROM HcmWorker(Ref_HcmWorker_HcmWorker) ON SMAAgreementLine.Worker = HcmWorker.RecId OUTER JOIN Name, RecId FROM DirPerson(Ref_DirPerson_HcmWorker_DirPerson_FK) ON HcmWorker.Person = DirPerson.RecId
*This post is locked for comments