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