LoadFromXml(Value: String);
LoadFromXml(Value: System.String);
Value. Параметры визуализатора в XML-формате.
Метод LoadFromXml загружает XML-параметры визуализатора: стиль и данные.
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXPRESS». Добавьте ссылки на системные сборки Express, Metabase, Visualizators и Xml.
До выполнения примера пузырьковое дерево выглядит так, как показано на странице описания интерфейса IVZBubbleTree. Получим параметры стиля данного дерева в формате XML и изменим цвет подписей, которые находятся за пределами пузырьков:
Public Sub UserProc;
Var
Metabase: IMetabase; // Метабаза
EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
BubbleTree: IVZBubbleTree; // Пузырьковое дерево
BubbleTreeXML: String; // Настройки стиля в формате XML
//Для работы со структурой XML
XMLDoc: IXMLDOMDocument;
Loaded: Boolean;
Nodes: IXmlDomNodeList;
Node, NodeAttr: IXmlDomNode;
Begin
// Получим объект метабазы
Metabase := MetabaseClass.Active;
// Получим объект экспресс-отчёта
EaxAnalyzer := Metabase.ItemById("EXPRESS").Edit As IEaxAnalyzer;
// Получим пузырьковое дерево
BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
// Получим параметры пузырькового дерева в формате XML
BubbleTreeXML := BubbleTree.SaveToXml;
// Создаем структуру для изменения XML
XMLDoc := New DOMDocument.Create;
Loaded := XMLDoc.loadXML(BubbleTreeXML);
If Loaded Then
// Получаем узел Font
Nodes := XMLDOc.getElementsByTagName("Font");
Node := Nodes.item(1);
// Ищем атрибут Color
NodeAttr := Node.attributes.getNamedItem("Color");
// Устанавливаем другой цвет
NodeAttr.nodeValue := "#FF404EED";
// Получаем измененную XML
BubbleTreeXML := XMLDoc.xml;
End If;
// Установим новые значения параметров стиля пузырькового дерева из XML
BubbleTree.LoadFromXml(BubbleTreeXML);
// Сохраним экспресс-отчет
(EaxAnalyzer As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера цвет подписей, которые находятся за пределами пузырьков, будет изменен на синий.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore. Вместо сборки Xml надо подключить MXml2.
Public Shared Sub Main(Params: StartParams);
Var
Metabase: IMetabase; // Метабаза
EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
BubbleTree: IVZBubbleTree; // Пузырьковое дерево
BubbleTreeXML: String; // Настройки стиля в формате XML
//Для работы со структурой XML
XMLDoc: IXMLDOMDocument;
Loaded: Boolean;
Nodes: IXmlDomNodeList;
Node, NodeAttr: IXmlDomNode;
Begin
// Получим объект метабазы
Metabase := Params.Metabase;
// Получим объект экспресс-отчёта
EaxAnalyzer := Metabase.ItemById["CLEAR24"].Edit() As IEaxAnalyzer;
// Получим пузырьковое дерево
BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
// Получим параметры пузырькового дерева в формате XML
BubbleTreeXML := BubbleTree.SaveToXml();
// Создаем структуру для изменения XML
XMLDoc := New DOMDocument.Create();
Loaded := XMLDoc.loadXML(BubbleTreeXML);
If Loaded Then
// Получаем узел Font
Nodes := XMLDOc.getElementsByTagName("Font");
Node := Nodes.item[1];
// Ищем атрибут Color
NodeAttr := Node.attributes.getNamedItem("Color");
// Устанавливаем другой цвет
NodeAttr.nodeValue := "#FF404EED";
// Получаем измененную XML
BubbleTreeXML := XMLDoc.xml;
End If;
// Установим новые значения параметров стиля пузырькового дерева из XML
BubbleTree.LoadFromXml(BubbleTreeXML);
// Сохраним экспресс-отчет
(EaxAnalyzer As IMetabaseObject).Save();
End Sub;
См. также: