summaryrefslogtreecommitdiff
path: root/svx
diff options
context:
space:
mode:
authorJulien Nabet <serval2412@yahoo.fr>2018-01-25 14:52:43 +0100
committerJulien Nabet <serval2412@yahoo.fr>2018-02-13 20:34:51 +0100
commit819ba42b3409bd2f66593f619f1934ea7f461364 (patch)
tree814088f29d959d5cc6c58a332cade56b52ad9e72 /svx
parent406004d3f58457a46107f84ec1f902e92364ba2e (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.cxx34
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