XML column


Author
Message
Keith Chisarik
Keith Chisarik
StrataFrame VIP (2.4K reputation)StrataFrame VIP (2.4K reputation)StrataFrame VIP (2.4K reputation)StrataFrame VIP (2.4K reputation)StrataFrame VIP (2.4K reputation)StrataFrame VIP (2.4K reputation)StrataFrame VIP (2.4K reputation)StrataFrame VIP (2.4K reputation)StrataFrame VIP (2.4K reputation)
Group: StrataFrame Users
Posts: 939, Visits: 40K
Any examples or documentation of accessing the XML data in an XML column via BO field property? 

Keith Chisarik
Reply
Peter Jones
Peter Jones
Advanced StrataFrame User (718 reputation)Advanced StrataFrame User (718 reputation)Advanced StrataFrame User (718 reputation)Advanced StrataFrame User (718 reputation)Advanced StrataFrame User (718 reputation)Advanced StrataFrame User (718 reputation)Advanced StrataFrame User (718 reputation)Advanced StrataFrame User (718 reputation)Advanced StrataFrame User (718 reputation)
Group: Forum Members
Posts: 386, Visits: 2.1K
Hi Keith,



This may help.



We have a semi generic method of creating interfaces into ERP systems and gather the data into XML format and store that data in a SQL table. The table we use has column called ERXIFData and its data type is XML.



When we want to show contents of the ERXIFData we use a DevExpress grid and pass to it a dataset that has been generated from the XML data. One instance of ERXIFData could contain contain several 100 rows of data.



The code we use is:



   Case clsENU.ERPIFType.ERPBoughtIn

ShowAnInterface(Me.luERX.Properties.GetDataSourceValue("ERXIFData", Me.luERX.ItemIndex).ToString, Me.GridControl9, Me.GridView9, Me.XMLDataSetBoughtIn)







Private Sub ShowAnInterface(ByVal ERXIFData As String, _

ByRef Grid As DevExpress.XtraGrid.GridControl, _

ByRef GridView As DevExpress.XtraGrid.Views.Grid.GridView, _

ByRef ds As System.Data.DataSet)





Dim objXmlNamespaceManager As New System.Xml.XmlNamespaceManager(New System.Xml.NameTable)



Dim reader As New System.Xml.XmlTextReader(ERXIFData, _

System.Xml.XmlNodeType.Document, _

New System.Xml.XmlParserContext(Nothing, _

objXmlNamespaceManager, _

"", _

System.Xml.XmlSpace.None))

ds.ReadXml(reader)



Grid.DataSource = ds.Tables(0)



Grid.ForceInitialize()



GridView.UpdateSummary()

clsFU.LocaliseAllControls(Grid)

reader.Close()



End Sub





And that's it.



The DevExpress Grid renders the columns in the dataset automatically (refer Grid.DataSource = ds.Tables(0)), i.e. we can pass any pieces of XML to the grid (including hierarchical) and it renders correctly.



To pass in the ERXIFData column we first convert it to String.



Cheers, Peter
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...





Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search