Hi,
Has anyone had any experience with or created the RadGrid drag/drop demo with XML? I can't seem to get the GetOrders function correct which is my starting point. Telerik doesn't seem to have a solution for this either.
I have an XML document that needs to be transformed using an xslt file before binding to the RadGrid. I would like to use a save button that saves both the shipped and the pending order grids to two different XML documents (not new ones) that they're both initially pulling data from. This seems like a fairly simple concept, but I've been working on this for several days and can't get past the GetOrders function that would create and assign variables for each element and attribute. I can't even seem to create the right dataset that gets transformed. However, I'm not opposed to using something besides a dataset. I'm using VB, but don't mind converting the C# if anyone knows how to do this. I'm desperate for some help fairly quickly. I can easily create a datasource control with the xmldocument and xmlcompiledtransform, but I don't know how to create a reader that would iterate through the elements and attributes to pull the relevant nodes to assign them to variables.
Here's my xmldoc
Here's my xslt:
It's the <item> node with it's attributes and elements that I'd like to use. Please if someone knows or can help me, I'd really appreciate it.
The original GetOrders function that needs to use the above xml info:
The other issue is that I'm using CDATA in some of the elements. I do know that I can use the following to save the CDATA which I've done in an update/edit form, but I'm not sure how this will impact the rest of the code. I thought I'd include it, in case it's of help:
Please anyone, I could really use some help with this. Thanks.
Has anyone had any experience with or created the RadGrid drag/drop demo with XML? I can't seem to get the GetOrders function correct which is my starting point. Telerik doesn't seem to have a solution for this either.
I have an XML document that needs to be transformed using an xslt file before binding to the RadGrid. I would like to use a save button that saves both the shipped and the pending order grids to two different XML documents (not new ones) that they're both initially pulling data from. This seems like a fairly simple concept, but I've been working on this for several days and can't get past the GetOrders function that would create and assign variables for each element and attribute. I can't even seem to create the right dataset that gets transformed. However, I'm not opposed to using something besides a dataset. I'm using VB, but don't mind converting the C# if anyone knows how to do this. I'm desperate for some help fairly quickly. I can easily create a datasource control with the xmldocument and xmlcompiledtransform, but I don't know how to create a reader that would iterate through the elements and attributes to pull the relevant nodes to assign them to variables.
Here's my xmldoc
<?xml version="1.0" encoding="utf-8"?> <banner> <globals width="658" height="162" currentItem="0" radius="4" showButtons="true" buttonLocation="right" blurX="15" blurY="15" showContent="true" bgColor="#000000" bgAlpha="0.8" bgPaddingBottom="0" titleColor="#FFFFFF" titleFontSize="16" descriptionColor="#999999" descriptionFontSize="11" cssFile="css/banner.css"> <buttonTitleColor default="#000000" rollOver="#CD0000" current="#FFFFFF" /> <buttonDescriptionColor default="#444444" rollOver="#FF0000" current="#BBBBBB" /> </globals> <item src="images/1.jpg" transition="x" timer="7"> <buttonTitle><![CDATA[Wseat Field]]></buttonTitle> <buttonDescription><![CDATA[Beautiful scene of European weath field at sunset]]></buttonDescription> <title><![CDATA[Yellow Weath Field]]></title> <description><![CDATA[The Pannonian Plain is a large plain in <a href="http://www.test.com" target="_blank">Central Europe</a> that remained when the Pliocene Pannonian Sea dried out. It is a geomorphological subsystem of the Alps-Himalaya system.]]></description> <link>http://www.test.com<;/link> <target>_blank</target> </item> <item src="images/2.swf" transition="x" timer="6"> <buttonTitle><![CDATA[Balco Lamp]]></buttonTitle> <buttonDescription><![CDATA[SWF Usage Example]]></buttonDescription> <title><![CDATA[<font color="#FFFFFF" size="36">You can use SWF</font>]]></title> <description><![CDATA[Sample SWF file.]]></description> <link>http://www.test.com/<;/link> <target /> </item> <item src="images/3.jpg" transition="y" timer="5"> <buttonTitle><![CDATA[Balcoon Lamp]]></buttonTitle> <buttonDescription><![CDATA[This Car is Sweet!]]></buttonDescription> <title><![CDATA[Detroit - Jan 2006]]></title> <description><![CDATA[This <a href="http://www.test.com" target="_blank">Infiniti Coupe</a> Concept debuted at the North American Auto Show in Detroit in Jan 2006. Rumors hint at a 325hp V-6 or an optional V-8 engine.]]></description> <link>http://www.test.com<;/link> <target>_blank</target> </item> <item src="images/4.jpg" transition="x" timer="4"> <buttonTitle><![CDATA[farn Lamp]]></buttonTitle> <buttonDescription><![CDATA[Open Lamp in Evening]]></buttonDescription> <title><![CDATA[Open Lamp in Evening]]></title> <description><![CDATA[My favorite farm house nearby.]]></description> <link>http://www.test.com<;/link> <target /> </item> <item src="images/5.jpg" transition="x" timer="7"> <buttonTitle><![CDATA[Shs for Vacation]]></buttonTitle> <buttonDescription><![CDATA[We finally got the great shadow of blue rain drops]]></buttonDescription> <title><![CDATA[Car Roof Rain Drops]]></title> <description><![CDATA[Car Roof Rain Drops by <a href="http://www.flashcomponents.net/" target="_blank">The Great Shadow</a>. After waiting for a long time... We Finally got what we wanted, something that someone countries they wish it stops because it destroys everything and its a disaster.]]></description> <link>http://www.test.com<;/link> <target>_blank</target> </item> <item src="images/6.png" transition="alpha" timer="8"> <buttonTitle><![CDATA[Ships for Vacation]]></buttonTitle> <buttonDescription><![CDATA[]]></buttonDescription> <title> </title> <description> </description> <link>http://www.test.com<;/link> <target>_blank</target> </item> <item src="images/7.jpg" transition="x" timer="4"> <buttonTitle><![CDATA[e machine]]></buttonTitle> <buttonDescription><![CDATA[Historical machine]]></buttonDescription> <title><![CDATA[]]></title> <description> </description> <link>http://www.test.com<;/link> <target>_blank</target> </item> <item src="images/8.jpg" transition="alpha" timer="8"> <buttonTitle><![CDATA[Red Heart & Autumn]]></buttonTitle> <buttonDescription><![CDATA[The Alps]]></buttonDescription> <title><![CDATA[European Mountains]]></title> <description><![CDATA[The highest mountain in the Alps is Mont Blanc, at 4,808 metres]]></description> <link /> <target /> </item> </banner>Here's my xslt:
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"> <xsl:output method="xml" indent="yes"/> <xsl:template match="banner"> <xsl:element name="item"> <xsl:apply-templates/> </xsl:element> </xsl:template> <xsl:template match="item"> <xsl:element name="item"> <!-- place isbn attribute first --> <xsl:attribute name="src"> <xsl:value-of select="@src"/> </xsl:attribute> <xsl:attribute name="transition"> <xsl:value-of select="@transition"/> </xsl:attribute> <xsl:attribute name="timer"> <xsl:value-of select="@timer"/> </xsl:attribute> <xsl:attribute name="dateExp"> <xsl:value-of select="@dateExp"/> </xsl:attribute> <xsl:attribute name="dateStart"> <xsl:value-of select="@dateStart"/> </xsl:attribute> <!-- convert elements to attributes --> <xsl:for-each select="*"> <xsl:attribute name="{name()}"> <xsl:value-of select="."/> </xsl:attribute> </xsl:for-each > </xsl:element> </xsl:template> </xsl:stylesheet> It's the <item> node with it's attributes and elements that I'd like to use. Please if someone knows or can help me, I'd really appreciate it.
The original GetOrders function that needs to use the above xml info:
Protected Function GetOrders() As IList(Of Order) Dim results As IList(Of Order) = New List(Of Order)() Using connection As IDbConnection = DbProviderFactories.GetFactory("System.Data.SqlClient").CreateConnection() connection.ConnectionString = ConfigurationManager.ConnectionStrings("NorthwindConnectionString").ConnectionString Using command As IDbCommand = connection.CreateCommand() command.CommandText = "SELECT o.OrderID, o.CustomerID, o.RequiredDate, c.CompanyName FROM orders o INNER JOIN customers c on o.customerID = c.customerID" connection.Open() Try Dim reader As IDataReader = command.ExecuteReader() While reader.Read() Dim id As Integer = DirectCast(reader.GetValue(reader.GetOrdinal("OrderID")), Integer) Dim customerID As String = IIf((Not reader.IsDBNull(reader.GetOrdinal("CustomerID"))), DirectCast(reader.GetValue(reader.GetOrdinal("CustomerID")), String), String.Empty) Dim requiredDate As DateTime = IIf((Not reader.IsDBNull(reader.GetOrdinal("RequiredDate"))), DirectCast(reader.GetValue(reader.GetOrdinal("RequiredDate")), DateTime), DateTime.MinValue) Dim companyName As String = IIf((Not reader.IsDBNull(reader.GetOrdinal("CompanyName"))), DirectCast(reader.GetValue(reader.GetOrdinal("CompanyName")), String), String.Empty) results.Add(New Order(id, customerID, companyName, requiredDate)) End While Catch ex As SqlException results.Clear() End Try End Using End Using Return results End FunctionThe other issue is that I'm using CDATA in some of the elements. I do know that I can use the following to save the CDATA which I've done in an update/edit form, but I'm not sure how this will impact the rest of the code. I thought I'd include it, in case it's of help:
Dim buttonTitle As RadTextBox = CType(FormView1.FindControl("buttonTitleTextBox"), RadTextBox) DirectCast(xmlnode.SelectSingleNode("buttonTitle").FirstChild, XmlCDataSection).Value = buttonTitle.TextPlease anyone, I could really use some help with this. Thanks.