SecondaryGetDataConnection

Вторично загружающее соединение с данными; получает данные из другого загружающего соединения с данными и фильтрует их.

Шаблон SecondaryGetDataConnection

<DataConnection Name="" Type="SecondaryGetDataConnection" Assembly="DataConnections">
  <SourceDataConnection Name="" SqlQuery="" />
  <ManualRefresh></ManualRefresh> 
  <Filter>
    <And RefreshFilter="">
      <Or RefreshFilter="">
        <Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
          <Field NativeName="" />
          <Value></Value>
          <DataType Type="" />
          <Enabled>True</Enabled>
        </Filter>
        <Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
          <Field NativeName="" />
          <Value></Value>
          <DataType Type="" />
          <Enabled>True</Enabled>
        </Filter>
      </Or>
      <Not RefreshFilter="">
        <Filter Type="" FilterByNullValue="" RefreshFilter="" Reverse="">
          <Field NativeName="" />
          <Value></Value>
          <DataType Type="" />
          <Enabled>True</Enabled>
        </Filter>
      </Not>
    </And>
  </Filter>
  <StartPosition></StartPosition>
  <MaxCount></MaxCount>
</DataConnection>

Описание SecondaryGetDataConnection

<DataConnection Name="SecondaryGetDataConnectionName" Type="SecondaryGetDataConnection" Assembly="DataConnections">
  <!--Тэги, специфичные для SecondaryGetDataConnection-->
</DataConnection>

Тэги, специфичные для SecondaryGetDataConnection

SourceDataConnection

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

Обязательный тэг. Значение тэга <SourceDataConnection>: не ожидается.

<SourceDataConnection Name="SourceDataConnectionName" SqlQuery="SqlQueryName" />

Атрибуты тэга <SourceDataConnection>

Name

Имя первично загружающего соединения с данными.

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

SqlQuery

Имя запроса из загружающего соединения.

Необязательный атрибут. Ожидается имя одного из запросов из загружающего соединения с данными.

ManualRefresh

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

Необязательный тэг. Ожидается логическое значение.

Если тэг <ManualRefresh> отсутствует, то используется значение True.

<ManualRefresh>True</ManualRefresh>

Filter

Фильтр полученных данных.

Фильтрация происходит без повторных запросов в базу данных.

Необязательный тэг. Значение тэга <Filter>: список тэгов <And>, <Or> и <Not> или тэги <Field>, <Value> и <DataType>.

<Filter>
  <And RefreshFilter="True">
    <Or RefreshFilter="True">
      <Filter Type="Equal" FilterByNullValue="True" RefreshFilter="True" Reverse="True">
        <Field NativeName="FieldName1" />
        <Value>Value</Value>
        <DataType Type="DataTypeName" />
        <Enabled>True</Enabled>
      </Filter>
      <Filter Type="Equal" FilterByNullValue="True" RefreshFilter="True" Reverse="True">
        <Field NativeName="FieldName2" />
        <Value>Value</Value>
        <Enabled>True</Enabled>
      </Filter>
    </Or>
    <Not RefreshFilter="True">
      <Filter Type="Equal" FilterByNullValue="True" RefreshFilter="True" Reverse="True">
        <Field NativeName="FieldName3" />
        <Value>Value</Value>
        <DataType Type="DataTypeName" />
        <Enabled>True</Enabled>
      </Filter>
    </Not>
  </And>
</Filter>

Атрибуты тэга <Filter>

Type

Тип сравнения значений.

Необязательный атрибут. Ожидается название одного из типов сравнения значений.

Если атрибут Type отсутствует, то используется значение Equal.

FilterByNullValue

Признак, определяющий, будет ли осуществляться фильтрация для очередной строки соединения с данными, если значение фильтра будет равно NULL.

Необязательный атрибут. Ожидается логическое значение.

Если атрибут FilterByNullValue отсутствует, то используется значение True.

RefreshFilter

Признак, определяющий, будут ли данные сразу же отфильтрованы при изменении параметра фильтра.

Признак не работает для фильтров, содержащих внутри себя тэги <And>, <Or> или <Not>, для таких фильтров данные обновляются всегда.

Необязательный атрибут. Ожидается логическое значение.

Если атрибут RefreshFilter отсутствует, то используется значение True.

Reverse

Признак, определяющий, будет ли изменён порядок аргументов фильтра на обратный.

Необязательный атрибут. Ожидается логическое значение.

Если атрибут Reverse отсутствует, то используется значение False.

Типы сравнения значений

Equal

Сравнение значений на равенство

NotEqual

Сравнение значений на неравенство

Greater

Сравнение значений на "больше": значение из соединения с данными больше указанного значения

NotGreater

Сравнение значений на "не больше": значение из соединения с данными не больше указанного значения

Less

Сравнение значений на "меньше": значение из соединения с данными меньше указанного значения

NotLess

Сравнение значений на "не меньше": значение из соединения с данными не меньше указанного значения

Contains

Сравнение значений на "содержит": значение из соединения с данными содержит указанное значение (значения любых типов данных преобразуются к строковому типу)

NotContains

Сравнение значений на "не содержит": значение из соединения с данными не содержит указанное значение (значения любых типов данных преобразуются к строковому типу)

In

Сравнение значений на "входит": значение из соединения с данными входит в указанный массив

NotIn

Сравнение значений на "не входит": значение из соединения с данными не входит в указанный массив

Overlap

Сравнение значений на "пересекается": массив из соединения с данными имеет общие элементы с указанным массивом

NotOverlap

Сравнение значений на "не пересекается": массив из соединения с данными не имеет общих элементов с указанным массивом

MatchSearch

Сравнение значений на "удовлетворяет поисковой строке": поисковая строка может состоять из слов, разделенных пробелами и знаками "+", "*" и "?", пробел означает "ИЛИ", "+" означает "И", "*" означает любое количество любых символов, "?" означат ровно один символ

NotMatchSearch

Сравнение значений на "не удовлетворяет поисковой строке": поисковая строка может состоять из слов, разделенных пробелами и знаками "+", "*" и "?", пробел означает "ИЛИ", "+" означает "И", "*" означает любое количество любых символов, "?" означат ровно один символ

ContainedIn

Сравнение значений на "входит": значение из соединения с данными входит в указанное значение (значения любых типов данных преобразуются к строковому типу)

NotContainedIn

Сравнение значений на "не входит": значение из соединения с данными не входит в указанное значение (значения любых типов данных преобразуются к строковому типу)

Тэг <And>

Логическое умножение нескольких фильтров.

Необязательный тэг. Значение тэга <And>: список тэгов <Filter>, <And>, <Or> и <Not>.

Атрибуты тэга <And>

RefreshFilter

Признак, определяющий, будут ли данные сразу же отфильтрованы при изменении вложенного фильтра.

Необязательный атрибут. Ожидается логическое значение.

Если атрибут RefreshFilter отсутствует, то используется значение True.

Тэг <Or>

Логическое сложение нескольких фильтров.

Необязательный тэг. Значение тэга <Or>: список тэгов <Filter>, <And>, <Or> и <Not>.

Атрибуты тэга <Or>

RefreshFilter

Признак, определяющий, будут ли данные сразу же отфильтрованы при изменении вложенного фильтра.

Необязательный атрибут. Ожидается логическое значение.

Если атрибут RefreshFilter отсутствует, то используется значение True.

Тэг <Not>

Логическое отрицание одного фильтра.

Необязательный тэг. Значение тэга <Not>: тэг <Filter>, <And>, <Or> и <Not>.

Атрибуты тэга <Not>

RefreshFilter

Признак, определяющий, будут ли данные сразу же отфильтрованы при изменении вложенного фильтра.

Необязательный атрибут. Ожидается логическое значение.

Если атрибут RefreshFilter отсутствует, то используется значение True.

Тэг <Field>

Поле, по значению которого полученные данные фильтруются.

Обязательный тэг. Значение тэга <Field>: не ожидается.

Атрибуты тэга <Field>

NativeName

Название поля, по значению которого полученные данные фильтруются.

Обязательный атрибут. Ожидается название одного из полей, описанных в тэге <Fields>.

Тэг <Value>

Значение, по которому полученные данные фильтруются.

Обязательный тэг. Ожидается любое значение.

Тэг <DataType>

Тип данных, к которому приводятся сравниваемые значения.

Необязательный тэг. Значение тэга <DataType>: не ожидается.

Если тэг <DataType> отсутствует, то для атрибута Type используется значение StringDataType.

Атрибуты тэга <DataType>

Type

Название типа данных.

Обязательный атрибут. Ожидается название одного из типов данных, поддерживаемых формой.

Тэг <Enabled>

Признак, определяющий, будет ли использоваться данный фильтр.

Необязательный тэг. Ожидается логическое значение.

StartPosition

Номер строки (первая строка имеет номер 1), начиная с которой данные будут входить в результирующую таблицу текущего вторичного соединения с данными.

Пустое значение или значение меньше 1 соответствуют тому, что строки будут выведены начиная с 1-ой.

Необязательный тэг. Ожидается положительное целочисленное значение.

Если тэг <StartPosition> отсутствует, то используется значение 1.

<StartPosition>1</StartPosition>

MaxCount

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

Пустое значение или значение меньше 0 соответствуют тому, что ограничения по количеству строк нет.

Необязательный тэг. Ожидается положительное целочисленное значение.

Если тэг <MaxCount> отсутствует, то используется значение 0.

<MaxCount>100</MaxCount>

Get-проперти для получения свойств

Count

Возвращает количество строк в указанном запроса загружающего соединения с данными.

Ожидается имя одного из запросов, описанных в загружающем соединении с данными. Если имя запроса не указано, то используется первый запрос (в порядке описания запросов).

<DataConnection SourceDataConnection="SecondaryGetDataConnectionName">
  <Property Name="Count">SqlQueryName</Property>
</DataConnection>

ValueChanged

Возвращает признак изменения данных DataConnection.

<DataConnection SourceDataConnection="SecondaryGetDataConnectionName">
  <Property Name="ValueChanged" />
</DataConnection>

RowIndexOf

Возвращает индекс строки, удовлетворяющей условиям соответствия названий столбцов и значений в этих столбцах.

<DataConnection SourceDataConnection="SecondaryGetDataConnectionName">
  <Property Name="RowIndexOf">
    <Parameters>
      <Parameter Name="ColumnNames">
        <Structure Type="List">
          <Item>ColumnName1</Item>
          <Item>ColumnName2</Item>
        </Structure>
      </Parameter>
      <Parameter Name="Values">
        <Structure Type="List">
          <Item>Value1</Item>
          <Item>Value2</Item>
        </Structure>
      </Parameter>
    </Parameters>
  </Property>
</DataConnection>

Параметр ColumnNames ожидает линейный массив названий полей DataConnection.

Параметр Values ожидает линейный массив любых значений, по которым будет произведен поиск в соответствующих полях.

RowsIndicesOf

Возвращает массив индексов строки, удовлетворяющих условиям соответствия названий столбцов и значений в этих столбцах.

<DataConnection SourceDataConnection="SecondaryGetDataConnectionName">
  <Property Name="RowsIndicesOf">
    <Parameters>
      <Parameter Name="ColumnNames">
        <Structure Type="List">
          <Item>ColumnName1</Item>
          <Item>ColumnName2</Item>
        </Structure>
      </Parameter>
      <Parameter Name="Values">
        <Structure Type="List">
          <Item>Value1</Item>
          <Item>
            <Structure Type="List">
              <Item>Value2</Item>
              <Item>Value3</Item>
            </Structure>
          </Item>
        </Structure>
      </Parameter>
      <Parameter Name="SearchWithArrays">False</Parameter>
    </Parameters>
  </Property>
</DataConnection>

Параметр ColumnNames ожидает линейный массив названий полей DataConnection.

Параметр Values ожидает линейный массив любых значений, по которым будет произведен поиск в соответствующих полях.

Необязательный параметр SearchWithArrays разрешает для каждого столбца использовать линейный массив значений, с элементами которого будет сравниваться значения из каждой строки соответствующего столбца. Ожидается логическое значение. По умолчанию используется значение False.

Column

Возвращает линейный массив значений, содержащихся в определенном столбце таблицы.

<DataConnection SourceDataConnection="SecondaryGetDataConnectionName">
  <Property Name="Column">
    <Parameters>
      <Parameter Name="ColumnName">ColumnName</Parameter>
    </Parameters>
  </Property>  
</DataConnection>

Параметр ColumnName ожидает название одного из полей DataConnection.

Set-проперти для динамического задания свойств

AddRow

Добавляет новую строку в таблицу DataConnection.

<DataConnection Name="SecondaryGetDataConnectionName">
  <Property Name="AddRow">
    <Parameters>
      <Parameter Name="ColumnNames">
        <Structure Type="List">
          <Item>ColumnName1</Item>
          <Item>ColumnName2</Item>
        </Structure>
      </Parameter>
      <Parameter Name="Values">
        <Structure Type="List">
          <Item>Value1</Item>
          <Item>Value2</Item>
        </Structure>
      </Parameter>
      <Parameter Name="Index">0</Parameter>
      <Parameter Name="FireChanged">False</Parameter>
    </Parameters>
  </Property>
</DataConnection>

Параметр ColumnNames ожидает линейный массив названий полей DataConnection.

Параметр Values ожидает линейный массив любых значений, которые будут записаны в соответствующие поля новой строки.

Необязательный параметр Index ожидает неотрицательное целочисленное значение, указывающее место вставки новой строки. Если параметр отсутствует, то строка добавляется в конец таблицы DataConnection.

Необязательный параметр FireChanged - признак того, что соединение с данными будет рассылать событие об изменении данных при выполнении set-проперти. Ожидается логическое значение. По умолчанию используется значение True.

AddRows

Добавляет новые строки в таблицу DataConnection.

<DataConnection Name="SecondaryGetDataConnectionName">
  <Property Name="AddRows">
    <Parameters>
      <Parameter Name="ColumnNames">
        <Structure Type="List">
          <Item>ColumnName1</Item>
          <Item>ColumnName2</Item>
        </Structure>
      </Parameter>
      <Parameter Name="Values">
        <DataConnection SourceDataConnection="SourceDataConnectionName">
          <Fields>
            <Field Name="ColumnName1" />
            <Field Name="ColumnName2" />
          </Fields>
        </DataConnection>
      </Parameter>
      <Parameter Name="Index">0</Parameter>
      <Parameter Name="RawValues">True</Parameter>
      <Parameter Name="FireChanged">False</Parameter>
    </Parameters>
  </Property>
</DataConnection>

Параметр ColumnNames ожидает линейный массив названий полей DataConnection.

Параметр Values ожидает таблицу (например, ссылка на GetDataConnection) с числом столбцов равным числу имен столбцов, указанных в параметре ColumnNames. Допустимо указывать линейный массив, который будет соответствовать одной строке.

Необязательный параметр Index ожидает неотрицательное целочисленное значение, указывающее место вставки новой строки. Если параметр отсутствует, то строка добавляется в конец таблицы DataConnection.

Необязательный параметр RawValues - признак того, что значения необходимо подставлять "как они есть" - без преобразования в массив скалярных значений. Ожидается логическое значение. По умолчанию используется значение False.

Необязательный параметр FireChanged - признак того, что соединение с данными будет рассылать событие об изменении данных при выполнении set-проперти. Ожидается логическое значение. По умолчанию используется значение True.

UpdateRow

Изменяет значения полей в строке с указанным индексом.

<DataConnection Name="SecondaryGetDataConnectionName">
  <Property Name="UpdateRow">
    <Parameters>
      <Parameter Name="RowIndex">0</Parameter>
      <Parameter Name="ColumnNames">
        <Structure Type="List">
          <Item>ColumnName1</Item>
          <Item>ColumnName2</Item>
        </Structure>
      </Parameter>
      <Parameter Name="Values">
        <Structure Type="List">
          <Item>Value1</Item>
          <Item>Value2</Item>
        </Structure>
      </Parameter>
      <Parameter Name="RawValues">True</Parameter>
      <Parameter Name="FireChanged">False</Parameter>
    </Parameters>
  </Property>
</DataConnection>

Параметр ColumnNames ожидает линейный массив названий полей DataConnection.

Параметр Values ожидает линейный массив любых значений.

Параметр RowIndex ожидает неотрицательное целочисленное значение, указывающее на индекс строки для изменения.

Необязательный параметр RawValues - признак того, что значения необходимо подставлять "как они есть" - без преобразования в массив скалярных значений. Ожидается логическое значение. По умолчанию используется значение False.

Необязательный параметр FireChanged - признак того, что соединение с данными будет рассылать событие об изменении данных при выполнении set-проперти. Ожидается логическое значение. По умолчанию используется значение True.

UpdateRows

Изменяет значения полей в строках с указанными индексами на соответствующее значение из массива.

<DataConnection Name="SecondaryGetDataConnectionName">
  <Property Name="UpdateRows">
    <Parameters>
      <Parameter Name="RowIndices">
        <Structure Type="List">
          <Item>1</Item>
          <Item>2</Item>
        </Structure>
      </Parameter>
      <Parameter Name="ColumnNames">
        <Structure Type="List">
          <Item>ColumnName1</Item>
          <Item>ColumnName2</Item>
        </Structure>
      </Parameter>
      <Parameter Name="Values">
        <Structure Type="List">
          <Item>Value1</Item>
          <Item>Value2</Item>
        </Structure>
      </Parameter>
      <Parameter Name="ReplicateValues">False</Parameter>
      <Parameter Name="RawValues">True</Parameter>
      <Parameter Name="FireChanged">False</Parameter>
    </Parameters>
  </Property>
</DataConnection>

Параметр ColumnNames ожидает линейный массив названий полей DataConnection.

Параметр Values ожидает линейный массив или матрицу любых значений.

Параметр RowIndices ожидает линейный массив неотрицательных целочисленных значений, указывающих на индексы строк для изменения.

Необязательный параметр ReplicateValues - признак, определяющий каким образом обрабатывать значение параметра Values. Ожидает логическое значение. По умолчанию используется значение True.

Если значение параметра False, то значение параметра Values рассматривается как матрица значений, которые будут записаны в строки с индексами, указанными в параметре RowIndices. При этом:

  • если количество элементов строки матрицы не совпадает с количеством полей, указанных в параметре ColumnNames, то в соответствующие ячейки ставится значение NULL;

  • если количество строк матрицы не совпадает с количеством индексов, указанных в параметре RowIndices, то в ячейки строки, у которых отсутствует строка в матрице, ставится значение NULL.

Если значение параметра True, то значение параметра Values рассматривается как линейный массив значений, который заполняет каждую строку, подставляя элементы в соответствующие колонки.

Необязательный параметр RawValues - признак того, что значения необходимо подставлять "как они есть" - без преобразования в массив скалярных значений. Ожидается логическое значение. По умолчанию используется значение False.

Необязательный параметр FireChanged - признак того, что соединение с данными будет рассылать событие об изменении данных при выполнении set-проперти. Ожидается логическое значение. По умолчанию используется значение True.

UpdateColumn

Построчно изменяет значения строк в заданном поле на соответствующие значения из массива.

<DataConnection Name="SecondaryGetDataConnectionName">
  <Property Name="UpdateColumn">
    <Parameters>
      <Parameter Name="ColumnName">ColumnName</Parameter>
      <Parameter Name="Values">
        <Structure Type="List">
          <Item>Value1</Item>
          <Item>Value2</Item>
        </Structure>
      </Parameter>
      <Parameter Name="RawValues">True</Parameter>
      <Parameter Name="FireChanged">False</Parameter>
    </Parameters>
  </Property>
</DataConnection>

Параметр ColumnName ожидает название поля DataConnection.

Параметр Values ожидает линейный массив любых значений. Если длина массива меньше количества строк в соединении с данными, то оставшиеся строки не будут изменяться. Если длина массива больше, то оставшиеся значения будут отброшены.

Необязательный параметр RawValues - признак того, что значения необходимо подставлять "как они есть" - без преобразования в массив скалярных значений. Ожидается логическое значение. По умолчанию используется значение False.

Необязательный параметр FireChanged - признак того, что соединение с данными будет рассылать событие об изменении данных при выполнении set-проперти. Ожидается логическое значение. По умолчанию используется значение True.

UpdateColumnCellsValues

Изменяет значение поля в строках с указанными индексами на заданное значение.

<DataConnection Name="SecondaryGetDataConnectionName">
  <Property Name="UpdateColumnCellsValues">
    <Parameters>
      <Parameter Name="ColumnName">ColumnName</Parameter>
      <Parameter Name="RowIndices">
        <Structure Type="List">
          <Item>1</Item>
          <Item>2</Item>
        </Structure>
      </Parameter>
      <Parameter Name="Value">Value</Parameter>
      <Parameter Name="RawValues">True</Parameter>
      <Parameter Name="FireChanged">False</Parameter>
    </Parameters>
  </Property>
</DataConnection>

Параметр ColumnName ожидает название поля DataConnection.

Параметр Value ожидает значение, которое будет подставляться в поле.

Необязательный параметр RowIndices ожидает линейный массив неотрицательных целочисленных значений, указывающих на индексы строк. Если параметр не указан, то обновятся все строки.

Необязательный параметр FireChanged - признак того, что соединение с данными будет рассылать событие об изменении данных при выполнении set-проперти. Ожидается логическое значение. По умолчанию используется значение True.

DeleteRowsByIndices

Удаляет строки с указанными индексами.

<DataConnection Name="SecondaryGetDataConnectionName">
  <Property Name="UpdateColumnCellsValues">
    <Parameters>
      <Parameter Name="Value">
        <Structure Type="List">
          <Item>1</Item>
          <Item>2</Item>
        </Structure>
      </Parameter>
      <Parameter Name="FireChanged">False</Parameter>
    </Parameters>
  </Property>
</DataConnection>

Необязательный параметр Value ожидает линейный массив неотрицательных целочисленных значений. Если параметр отсутствует, то удаляются все строки.

Необязательный параметр FireChanged - признак того, что соединение с данными будет рассылать событие об изменении данных при выполнении set-проперти, а так же будет изменяться свойство ValueChanged. Ожидается логическое значение. По умолчанию используется значение True.

FireChanged

Рассылает событие об изменении данных.

Значение не ожидается.

<DataConnection Name="SecondaryGetDataConnectionName">
  <Property Name="FireChanged" />
</DataConnection>

ValueChanged

Задает признак изменения значения соединения с данными.

Ожидается логическое значение.

<DataConnection Name="SecondaryGetDataConnectionName">
  <Property Name="ValueChanged">False</Property>
</DataConnection>

Last updated