File: ...\Samples\Solution\Toledo\CAXML.scx
Этот пример показывает как создать курсор из XML DataSet с помощью классов CursorAdapter и XMLAdapter и как связать данные с элементами на форме.
Для того, чтобы увидеть изменения в XML DiffGram
-
Сделайте изменения в grid и щелкните на Show DiffGram.
Для того, чтобы чтобы посмотреть значение свойств CursorAdapter
-
Щелкните на Show CursorAdapter Properties.
Для получения более подробной информации о CursorAdapter и XMLAdapter, смотрите CursorAdapter Class и XMLAdapter Class.
Загрузка XML в Cursor
В этом примере метод LoadXML объекта XMLAdapter загружает XML DataSet в объект XMLAdapter и работает с объектом CursorAdapter для создания курсора. Загрузка XML DataSet в XMLAdapter создает объекты XMLTable в коллекции XMLAdapter Tables соответствующие таблицам в XML DataSet. Свойство CursorAdapter SelectCmd устанавливается в объект XMLTable, который вы желаете отобразить. Курсор создается, когда вызывается метод CursorFill на объекте CursorAdapter.
Для получения более подробной информации смотрите LoadXML Method, XMLTable Class и CursorFill Method.
Этот пример использует ADO.NET DataSet как XML файл, на такой такой файл может быть сгенерирован Visual FoxPro, как XML DataSet.
Для загрузки XML DataSet в объект XMLAdapter
-
В событии Init формы примера, добавьте свойство, которое представляет собой объектную ссылку на XMLAdapter, либо с помощью использования дизайнеров форм или классов или с помощью метода AddProperty непосредственно в коде:
Скопировать код
ThisForm.AddProperty('oXMLAdapter',CREATEOBJECT('XMLAdapter'))
-
Для создания коллекции таблиц Tables в объекте XMLAdaptert, загрузите XML файл так, как это показано в приведенном ниже фрагменте кода:
Скопировать код
WITH ThisForm.oXMLAdapter
.LoadXML(ThisForm.cRunPath+'getcustomers.xml',.T.)
ENDWITH -
Установите свойство CursorAdapter.SelectCmd на объект XMLTable и вызовите метод CursorAdapter.CursorFill:
Скопировать код
ThisForm.DataEnvironment.cursor1.SelectCmd= ;
"ThisForm.oXMLAdapter.Tables.Item(1)"
ThisForm.DataEnvironment.cursor1.CursorFill()
Для просмотра свойств объекта CursorAdapter, посмотрите на объект DataEnvironment. Вы можете открыть дизайнер DataEnvironment путем правого клика на объекте CursorAdapter и выборкой опции Builder. Свойства CursorAdapter будут установлена построителем CursorAdapter'а.
Для получения более подробной информации смотрите DataEnvironment Object, Init Event и CursorAdapter Builder.
Управление привязкой данных
В момент, когда обычно происходит привязка данных, курсор, содержащий данные еще не существует. Это происходит потому, что объект XMLAdapter загружает XML в событии Init формы, которое происходит после привязки данных по умолчанию. Однако, вы можете управлять привязкой данных соответствующей установкой свойства Form BindControls.
В этом примере, свойство формы BindControls установлено в False (.F.). После того, как метод CursorFill объекта CursorAdapter создаст курсор, содержащий данные, BindControls устанавливается в True (.T.). Вы можете затем привязать элементы на форме с помощью приведенного ниже фрагмента кода:
![]() | |
---|---|
ThisForm.BindControls = .T. |
Для получения более подробной информации смотрите BindControls Property.
Generating XML DiffGrams with the XMLAdapter
Для генерации XML DiffGram, используйте метод ToXML объекта XMLAdapter , как это показано в событии cmdDiffgram.Click
приведенного примера:
![]() | |
---|---|
WITH ThisForm.oXMLAdapter |