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
Function
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:
Dim
buttonTitle
As
RadTextBox =
CType
(FormView1.FindControl(
"buttonTitleTextBox"
), RadTextBox)
DirectCast
(xmlnode.SelectSingleNode(
"buttonTitle"
).FirstChild, XmlCDataSection).Value = buttonTitle.Text
Please anyone, I could really use some help with this. Thanks.