diff options
author | Julien Nabet <serval2412@yahoo.fr> | 2018-01-25 14:52:43 +0100 |
---|---|---|
committer | Julien Nabet <serval2412@yahoo.fr> | 2018-02-13 20:34:51 +0100 |
commit | 819ba42b3409bd2f66593f619f1934ea7f461364 (patch) | |
tree | 814088f29d959d5cc6c58a332cade56b52ad9e72 /svx | |
parent | 406004d3f58457a46107f84ec1f902e92364ba2e (diff) |
tdf#107134: add comparator in form filter
Change-Id: I86d3b5c4ebd231bdad70dc9f5a364658cfca6df4
Reviewed-on: https://gerrit.libreoffice.org/48609
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
Diffstat (limited to 'svx')
-rw-r--r-- | svx/source/form/formcontroller.cxx | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/svx/source/form/formcontroller.cxx b/svx/source/form/formcontroller.cxx index 19b7561158bc..fffc0cd449ee 100644 --- a/svx/source/form/formcontroller.cxx +++ b/svx/source/form/formcontroller.cxx @@ -51,6 +51,7 @@ #include <com/sun/star/lang/NoSupportException.hpp> #include <com/sun/star/sdb/ParametersRequest.hpp> #include <com/sun/star/sdb/RowChangeAction.hpp> +#include <com/sun/star/sdb/SQLFilterOperator.hpp> #include <com/sun/star/sdb/XInteractionSupplyParameters.hpp> #include <com/sun/star/sdbc/ColumnValue.hpp> #include <com/sun/star/sdbc/DataType.hpp> @@ -3170,6 +3171,39 @@ void FormController::setFilter(::std::vector<FmFieldInfo>& rFieldInfos) if ( pParseNode != nullptr ) { OUString sCriteria; + switch (pRefValues[j].Handle) + { + case css::sdb::SQLFilterOperator::EQUAL: + sCriteria += "="; + break; + case css::sdb::SQLFilterOperator::NOT_EQUAL: + sCriteria += "!="; + break; + case css::sdb::SQLFilterOperator::LESS: + sCriteria += "<"; + break; + case css::sdb::SQLFilterOperator::GREATER: + sCriteria += ">"; + break; + case css::sdb::SQLFilterOperator::LESS_EQUAL: + sCriteria += "<="; + break; + case css::sdb::SQLFilterOperator::GREATER_EQUAL: + sCriteria += ">="; + break; + case css::sdb::SQLFilterOperator::LIKE: + sCriteria += "LIKE "; + break; + case css::sdb::SQLFilterOperator::NOT_LIKE: + sCriteria += "NOT LIKE "; + break; + case css::sdb::SQLFilterOperator::SQLNULL: + sCriteria += "IS NULL"; + break; + case css::sdb::SQLFilterOperator::NOT_SQLNULL: + sCriteria += "IS NOT NULL"; + break; + } pParseNode->parseNodeToPredicateStr( sCriteria ,xConnection ,xFormatter |