Filter
Фильтр полученных данных.
Используется в PrimaryGetDataConnection, SecondaryGetDataConnection, ConvertDataConnection и TreeGetDataConnection.
Шаблон Filter
Вариант одиночного фильтра
<Filter Type="Equal" FilterByNullValue="" RefreshFilter="" Reverse="">
<Field NativeName="" />
<Value></Value>
<DataType Type="" />
<Enabled></Enabled>
</Filter>
Вариант фильтра-выражения
<Filter Type="Nested" FilterByNullValue="">
<And RefreshFilter="" RefreshData="">
<Or RefreshFilter="" RefreshData="">
<Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
<Field NativeName="" />
<Value></Value>
<DataType Type="" />
<Enabled></Enabled>
</Filter>
<Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
<Field NativeName="" />
<Value></Value>
<Enabled></Enabled>
</Filter>
</Or>
<Not RefreshFilter="" RefreshData="">
<Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
<Field NativeName="" />
<Value></Value>
<DataType Type="" />
<Enabled></Enabled>
</Filter>
</Not>
</And>
</Filter>
Описание Filter
Одиночный фильтр:
<Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
<!--Тэги, специфичные для Filter-->
</Filter>
Фильтр-выражение:
<Filter Type="Nested" FilterByNullValue="True">
<!--Тэги <And>, <Or> и <Not>-->
</Filter>
Необязательный атрибут Type
- тип сравнения значений.
Ожидается название одного из типов сравнения значений. По умолчанию используется значение Equal. Атрибуту можно задать значение Nested, чтобы сделать фильтр-выражение.
Необязательный атрибут FilterByNullValue
- признак, определяющий, будет ли осуществляться фильтрация для очередной строки соединения с данными, если значение фильтра будет равно NULL.
Ожидается логическое значение. По умолчанию используется значение True.
Необязательный атрибут RefreshFilter
- признак, определяющий, будут ли данные сразу же отфильтрованы при изменении параметра фильтра.
Ожидается логическое значение. По умолчанию используется значение True.
Необязательный атрибут Reverse
- признак, определяющий, будет ли изменён порядок аргументов фильтра на обратный.
Ожидается логическое значение. По умолчанию используется значение False.
Атрибуты RefreshFilter
и Reverse
не работают для фильтров-выражений (атрибут Type
со значением Nested).
Для таких фильтров данные обновляются всегда.
Тэги, специфичные для Filter
Перечисленные ниже тэги не допустимы для фильтров-выражений (атрибут Type
со значением Nested).
Field
Поле, по значению которого полученные данные фильтруются.
<Field NativeName="FieldName" />
Обязательный тэг. Значение не ожидается.
Обязательный атрибут NativeName
- название поля, по значению которого полученные данные фильтруются. Ожидается название одного из полей, описанных в тэге <Fields>
.
Value
Значение, по которому полученные данные фильтруются.
<Value>Value</Value>
Обязательный тэг. Ожидается любое значение.
DataType
Тип данных, к которому приводятся сравниваемые значения.
<DataType Type="DataTypeName" />
Необязательный тэг. Значение не ожидается.
Обязательный атрибут Type
- название типа данных. Ожидается название одного из типов данных, поддерживаемых формой. Полный список типов данных описан по ссылке.
Если тэг <DataType>
отсутствует, то для атрибута Type
используется значение StringDataType.
Enabled
Признак, определяющий, будет ли использоваться данный фильтр.
<Enabled>True</Enabled>
Необязательный тэг. Ожидается логическое значение.
Типы сравнения значений
Equal
Сравнение значений на равенство
NotEqual
Сравнение значений на неравенство
Greater
Сравнение значений на "больше": значение из соединения с данными больше указанного значения
NotGreater
Сравнение значений на "не больше": значение из соединения с данными не больше указанного значения
Less
Сравнение значений на "меньше": значение из соединения с данными меньше указанного значения
NotLess
Сравнение значений на "не меньше": значение из соединения с данными не меньше указанного значения
Contains
Сравнение значений на "содержит": значение из соединения с данными содержит указанное значение (значения любых типов данных преобразуются к строковому типу)
NotContains
Сравнение значений на "не содержит": значение из соединения с данными не содержит указанное значение (значения любых типов данных преобразуются к строковому типу)
In
Сравнение значений на "входит": значение из соединения с данными входит в указанный массив
NotIn
Сравнение значений на "не входит": значение из соединения с данными не входит в указанный массив
Overlap
Сравнение значений на "пересекается": массив из соединения с данными имеет общие элементы с указанным массивом
NotOverlap
Сравнение значений на "не пересекается": массив из соединения с данными не имеет общих элементов с указанным массивом
MatchSearch
Сравнение значений на "удовлетворяет поисковой строке": поисковая строка может состоять из слов, разделенных пробелами и знаками "+", "*" и "?", пробел означает "ИЛИ", "+" означает "И", "*" означает любое количество любых символов, "?" означат ровно один символ
NotMatchSearch
Сравнение значений на "не удовлетворяет поисковой строке": поисковая строка может состоять из слов, разделенных пробелами и знаками "+", "*" и "?", пробел означает "ИЛИ", "+" означает "И", "*" означает любое количество любых символов, "?" означат ровно один символ
ContainedIn
Сравнение значений на "входит": значение из соединения с данными входит в указанное значение (значения любых типов данных преобразуются к строковому типу)
NotContainedIn
Сравнение значений на "не входит": значение из соединения с данными не входит в указанное значение (значения любых типов данных преобразуются к строковому типу)
Логические операторы
Логические операторы допустимы только для фильтров-выражений (атрибут Type
со значением Nested).
And
Логическое умножение нескольких фильтров. Возвращает true, если все операнды одновременно равны true.
<And RefreshFilter="True" RefreshData="True">
<Filter>
<Field NativeName="" />
<Value></Value>
<DataType Type="" />
<Enabled></Enabled>
</Filter>
<Not>
<Filter>
<Field NativeName="" />
<Value></Value>
<DataType Type="" />
<Enabled></Enabled>
</Filter>
</Not>
</And>
Необязательный тэг. Ожидается список тэгов <Filter>
, <And>
, <Or>
и <Not>
.
Необязательный атрибут RefreshFilter
- признак, определяющий, будут ли данные сразу же отфильтрованы при изменении вложенного фильтра.
Ожидается логическое значение. По умолчанию используется значение True.
Необязательный атрибут RefreshData
- признак, определяющий, будут ли данные обновлены из исходного соединения с данными перед фильтрацией.
Ожидается логическое значение. По умолчанию используется значение False.
Or
Логическое сложение нескольких фильтров. Возвращает true, если хотя бы один из операндов возвращает true.
<Or RefreshFilter="True" RefreshData="True">
<Filter>
<Field NativeName="" />
<Value></Value>
<DataType Type="" />
<Enabled></Enabled>
</Filter>
<Filter>
<Field NativeName="" />
<Value></Value>
<Enabled></Enabled>
</Filter>
</Or>
Необязательный тэг. Ожидается список тэгов <Filter>
, <And>
, <Or>
и <Not>
.
Необязательный атрибут RefreshFilter
- признак, определяющий, будут ли данные сразу же отфильтрованы при изменении вложенного фильтра.
Ожидается логическое значение. По умолчанию используется значение True.
Необязательный атрибут RefreshData
- признак, определяющий, будут ли данные обновлены из исходного соединения с данными перед фильтрацией.
Ожидается логическое значение. По умолчанию используется значение False.
Not
Логическое отрицание одного фильтра. Производится над одним операндом и возвращает true, если операнд равен false. Если операнд равен true, то операция возвращает false.
<Not RefreshFilter="True" RefreshData="True">
<Filter>
<Field NativeName="" />
<Value></Value>
<DataType Type="ypeName" />
<Enabled></Enabled>
</Filter>
</Not>
Необязательный тэг. Ожидается один из тэгов <Filter>
, <And>
, <Or>
или <Not>
.
Необязательный атрибут RefreshFilter
- признак, определяющий, будут ли данные сразу же отфильтрованы при изменении значения вложенного фильтра.
Ожидается логическое значение. По умолчанию используется значение True.
Необязательный атрибут RefreshData
- признак, определяющий, будут ли данные обновлены из исходного соединения с данными перед фильтрацией.
Ожидается логическое значение. По умолчанию используется значение False.
Last updated