Please help :-) Sorting XML data in a DataGrid

S

slinky

I have an XML file that is successfully displaying in my datagrid on
my .aspx. I need to sort the data before it displays:

Here's my .aspx code:


<%@ import Namespace="System.Data" %>
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim myDataSet As New DataSet()
dgBooksPretty.DataSource = myDataSet
dgBooksPretty.AllowSorting = True
myDataSet.ReadXml(Server.MapPath("JFKtimeline.xml"))
dgBooksPretty.DataBind()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>President John Fitzgerald Kennedy Biographical Timetable</
title>
</head>
<body borderwidth="20px">


<asp:datagrid id="dgBooks"
runat="server"
Visible="False"
Height="1px"
Width="1px" />
<asp:datagrid id="dgBooksPretty"
runat="server"
AutoGenerateColumns="False"
Font-Name="Verdana"
Font-Size="Small"
HorizontalAlign="Center"
ItemStyle-BackColor="#C0FFC0"
AlternatingItemStyle-BackColor="White"
Width="911px"
Height="128px"
AllowSorting="True"
BorderColor="PeachPuff"
BorderStyle="Outset"
BorderWidth="10px">
<HeaderStyle BackColor="DarkGreen"
HorizontalAlign="Center"
ForeColor="White"
Font-Bold="True" />
<Columns>
<asp:BoundColumn HeaderText="Event" DataField="event" />
<asp:BoundColumn HeaderText="Year" DataField="year" />
</Columns>
<AlternatingItemStyle BackColor="White" />
<ItemStyle BackColor="#C0FFC0" />
</asp:datagrid>
<p align="center">
</p>
</body>
</html>


And here is an XSL file for the sorting, but I can't seem to find any
logic to get the sort done... any ideas? Thanks!!!


<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:strip-space elements="*"/>
<xsl:blush:utput method="xml" indent="yes" encoding="UTF-8"/>
<xsl:template match="events">
<xsl:copy>
<xsl:apply-templates select="topic">
<xsl:sort select="year" data-type="number"/>
</xsl:apply-templates>
</xsl:copy>
</xsl:template>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
 
K

Kevin Spencer

An XSL Transform creates an XML document from another XML document. It looks
to me like you're using the original XML document rather than the product of
the Transform in your DataSet.

Still, since you're using a DataSet, wouldn't it be easier to sort it rather
than to transform your XML data source?

--
HTH,

Kevin Spencer
Microsoft MVP

Printing Components, Email Components,
FTP Client Classes, Enhanced Data Controls, much more.
DSI PrintManager, Miradyne Component Libraries:
http://www.miradyne.net
 
S

sloan

dgBooksPretty.DataSource = ds.Select ( "" , "BookName ASC" ) ;

Do a select, with NO select criteria.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top