TreeGetDataConnection
Преобразующее загружающее соединение с данными; на основе данных из двух загружающих соединений с данными строит дерево данных.
Last updated
Преобразующее загружающее соединение с данными; на основе данных из двух загружающих соединений с данными строит дерево данных.
Last updated
Элементы дерева.
Обязательный тэг. В качестве значения ожидается список с тремя обязательными полями и любым количеством дополнительных полей.
Порядок обязательных полей строго определен:
первое поле должно соответствовать идентификатору элемента;
второе - его отображаемому значению;
третье - его состоянию, свернут или развернут узел дерева, если он имеет дочерние элементы.
Обязательный атрибут Name
- имя соединения с данными. Ожидается имя одного из соединений с данными, описанных на форме.
Необязательный атрибут Query
- имя запроса из загружающего соединения с данными, если в качестве источника данных указан PrimaryGetDataConnection с несколькими запросами SqlQuery. Ожидается имя одного из запросов, описанных в загружающем соединении с данными.
Взаимосвязи элементов дерева.
Обязательный тэг. В качестве значения ожидается список из двух обязательных полей, где первое поле должно соответствовать идентификатору элемента, а второе - идентификатору родительского элемента.
Обязательный атрибут Name
- имя соединения с данными. Ожидается имя одного из соединений с данными, описанных на форме.
Необязательный атрибут Query
- имя запроса из загружающего соединения с данными, если в качестве источника данных указан PrimaryGetDataConnection с несколькими запросами SqlQuery. Ожидается имя одного из запросов, описанных в загружающем соединении с данными.
Признак, определяющий условия обновления полученных данных. Если значение True, то обновление будет происходить только в ручном режиме при выполнении команды DataConnectionRefreshCommand. Если значение False, то исходные данные, помимо ручного режима, будут обновляться и автоматически при изменении источника данных, указанного в тэге <SourceDataConnection>
.
Необязательный тэг. Ожидается логическое значение.
По умолчанию используется значение False.
Дополнительные поля элементов дерева. одно поле описывает признак наличия дочерних элементов, другое задает отображаемое значение его состояния (свернут или развернут узел дерева).
Необязательный тэг.
Необязательный тэг <HasChildrenColumn>
Если тэг не указан, то для названия поля по умолчанию будет использоваться значение HasChildren.
Name
Название поля, которое будет использоваться на форме.
Обязательный атрибут. Ожидается любое значение.
Элементы дерева.
Необязательный тэг.
Если тэг не указан, то по умолчанию: для названия поля будет использоваться значение State, для закрытого состояния отображаемое значение будет "+", а для раскрытого состояния - "-".
Name
Название поля, которое будет использоваться на форме.
Обязательный атрибут. Ожидается любое значение.
CloseState
Отображаемое значение, если узел свернут.
Обязательный атрибут. Ожидается любое значение.
OpenState
Отображаемое значение, если узел раскрыт.
Обязательный атрибут. Ожидается любое значение.
Сортировка элементов дерева.
Необязательный тэг. Значение тэга <Order>
: список тэгов <By>
, отображаемых поле и тип сортировки.
Если правила сортировки не указаны, то используется отображаемое значение элемента (второе обязательное поле) и сортируется по возрастанию.
Фильтр полученных данных.
Необязательный тэг.
Может быть двух видов: одиночный фильтр и фильтр-выражение. Подробное описание тэга <Filter>
доступно по ссылке.
Вариант одиночного фильтра:
Вариант фильтра-выражения:
Возвращает все узлы дерева, найденные по значению FilterValue в поле FilterField.
Результатом будет двумерный массив значений всех полей Fields в тэге <SourceDataConnection>
(в порядке объявления) и значение дополнительного поля <HasChildrenColumn>
.
Возвращает всех предков узла.
Результатом будет двумерный массив значений всех полей Fields в тэге <SourceDataConnection>
(в порядке объявления) и значение дополнительного поля <HasChildrenColumn>
.
Возвращает всех потомков узла.
Результатом будет двумерный массив значений всех полей Fields в тэге <SourceDataConnection>
(в порядке объявления) и значение дополнительного поля <HasChildrenColumn>
.
Возвращает дочерние элементы узла.
Результатом будет двумерный массив значений всех полей Fields в тэге <SourceDataConnection>
(в порядке объявления) и значение дополнительного поля <HasChildrenColumn>
.
Возвращает родительский элемент узла.
Результатом будет двумерный массив значений всех полей Fields в тэге <SourceDataConnection>
(в порядке объявления) и значение дополнительного поля <HasChildrenColumn>
.
Сворачивание/разворачивание узла.
Для элемента с идентификатором NodeId изменяет значения полей FieldNames на значения Values.
Для элементов с идентификаторами NodeIds изменяет значения полей FieldNames на значения Values.
<DataConnection Name="" Type="TreeGetDataConnection" Assembly="DataConnections">
<ManualRefresh />
<SourceDataConnection Name="" Query="">
<Fields>
<Field Name="" />
<Field Name="" />
<Field Name="" />
</Fields>
</SourceDataConnection>
<RelationshipDataConnection Name="" Query="">
<Fields>
<Field Name="" />
<Field Name="" />
</Fields>
</RelationshipDataConnection>
<AdditionalColumns>
<HasChildrenColumn Name="" />
<StateColumn Name="" CloseState="" OpenState="" />
</AdditionalColumns>
<Order>
<By Name="" Type="" />
</Order>
<Filter Type="">
<And>
<Filter FilterByNullValue="">
<Field NativeName="" />
<Value>
<Object Name="" />
</Value>
<DataType Type="" />
</Filter>
<Filter Type="" FilterByNullValue="">
<Field NativeName="" />
<Value>
<Object Name="" />
</Value>
<DataType Type="" />
</Filter>
</And>
</Filter>
</DataConnection>
<SourceDataConnection Name="SourceDataConnectionName" Query="SqlQueryName">
<Fields>
<Field Name="ItemId" />
<Field Name="Title" />
<Field Name="Expand" />
<!-- Дополнительные поля -->
<Field Name="FieldName" />
</Fields>
</SourceDataConnection>
<RelationshipDataConnection Name="SourceDataConnectionName" Query="SqlQueryName">
<Fields>
<Field Name="ChildId" />
<Field Name="ParentId" />
</Fields>
</RelationshipDataConnection>
<ManualRefresh>True</ManualRefresh>
<AdditionalColumns>
<HasChildrenColumn Name="HasChildren" />
<StateColumn Name="State" CloseState="+" OpenState="-" />
</AdditionalColumns>
<Order>
<By Name="Title" Type="Asc" />
</Order>
<Filter Type="Equal" FilterByNullValue="True" RefreshFilter="True" Reverse="True">
<Field NativeName="" />
<Value></Value>
<DataType Type="" />
<Enabled></Enabled>
</Filter>
<Filter Type="" 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>
<DataConnection SourceDataConnection="TreeGetDataConnectionName">
<Property Name="ArrayDataByFieldValue">
<Parameters>
<!--Значение тэга <Parameter> с атрибутом Name, равным FilterField: ожидается название одного из полей-->
<Parameter Name="FilterField" />
<!--Значение тэга <Parameter> с атрибутом Name, равным FilterValue: любое значение-->
<Parameter Name="FilterValue" />
</Parameters>
</Property>
</DataConnection>
<DataConnection SourceDataConnection="TreeGetDataConnectionName">
<Property Name="Ancestor">
<Parameters>
<!--Значение тэга <Parameter>: ожидается целочисленное значение-->
<Parameter Name="NodeId">1</Parameter>
</Parameters>
</Property>
</DataConnection>
<DataConnection SourceDataConnection="TreeGetDataConnectionName">
<Property Name="Descendant">
<Parameters>
<!--Значение тэга <Parameter>: ожидается целочисленное значение-->
<Parameter Name="NodeId">1</Parameter>
</Parameters>
</Property>
</DataConnection>
<DataConnection SourceDataConnection="TreeGetDataConnectionName">
<Property Name="Child">
<Parameters>
<!--Значение тэга <Parameter>: ожидается целочисленное значение-->
<Parameter Name="NodeId">1</Parameter>
</Parameters>
</Property>
</DataConnection>
<DataConnection SourceDataConnection="TreeGetDataConnectionName">
<Property Name="Parent">
<Parameters>
<!--Значение тэга <Parameter>: ожидается целочисленное значение-->
<Parameter Name="NodeId">1</Parameter>
</Parameters>
</Property>
</DataConnection>
<DataConnection SourceDataConnection="TreeGetDataConnectionName">
<Property Name="ToggleFoldingNode">
<Parameters>
<!--Значение тэга <Parameter>: ожидается целочисленное значение-->
<Parameter Name="NodeId">1</Parameter>
</Parameters>
</Property>
</DataConnection>
<DataConnection Name="TreeGetDataConnection">
<Property Name="UpdateNode">
<Parameters>
<Parameter Name="NodeId">1</Parameter>
<Parameter Name="FieldNames">
<Structure Type="List">
<Item>FieldName1</Item>
<Item>FieldName2</Item>
</Structure>
</Parameter>
<Parameter Name="Values">
<Structure Type="List">
<Item>Value1</Item>
<Item>Value2</Item>
</Structure>
</Parameter>
</Parameters>
</Property>
</DataConnection>
<DataConnection Name="TreeGetDataConnection">
<Property Name="UpdateNodes">
<Parameters>
<Parameter Name="NodeIds">
<Structure Type="List">
<Item>1</Item>
<Item>2</Item>
</Structure>
</Parameter>
<Parameter Name="FieldNames">
<Structure Type="List">
<Item>FieldName1</Item>
<Item>FieldName2</Item>
</Structure>
</Parameter>
<Parameter Name="Values">
<Structure Type="List">
<Item>Value1</Item>
<Item>Value2</Item>
</Structure>
</Parameter>
</Parameters>
</Property>
</DataConnection>