Preferred Language:
Listing 17.33 - ShowDataSet.aspx
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Web.Configuration" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load()
{
if (!Page.IsPostBack)
BuildTree();
}
void BuildTree()
{
// Create Connection
string connectionString = WebConfigurationManager.ConnectionStrings["Movies"].ConnectionString;
SqlConnection con = new SqlConnection(connectionString);
// Create Movie Categories DataAdapter
SqlDataAdapter dadCategories = new SqlDataAdapter("SELECT Id,Name FROM MovieCategories", con);
// Create Movies DataAdapter
SqlDataAdapter dadMovies = new SqlDataAdapter("SELECT Title,CategoryId FROM Movies", con);
// Add the DataTables to the DataSet
DataSet dstMovies = new DataSet();
using (con)
{
con.Open();
dadCategories.Fill(dstMovies, "Categories");
dadMovies.Fill(dstMovies, "Movies");
}
// Add a DataRelation
dstMovies.Relations.Add("Children", dstMovies.Tables["Categories"].Columns["Id"], dstMovies.Tables["Movies"].Columns["CategoryId"]);
// Add the Movie Category nodes
foreach (DataRow categoryRow in dstMovies.Tables["Categories"].Rows)
{
string name = (string)categoryRow["Name"];
TreeNode catNode = new TreeNode(name);
TreeView1.Nodes.Add(catNode);
// Get matching movies
DataRow[] movieRows = categoryRow.GetChildRows("Children");
foreach (DataRow movieRow in movieRows)
{
string title = (string)movieRow["Title"];
TreeNode movieNode = new TreeNode(title);
catNode.ChildNodes.Add(movieNode);
}
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Show DataSet</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView
id="TreeView1"
Runat="server" />
</div>
</form>
</body>
</html>
Need ASP.NET and Visual Studio 2008 Training?
- Learn ASP.NET 3.5 from Stephen Walther, author of ASP.NET 3.5 Unleashed.
We've provided ASP.NET training for NASA, Lockheed Martin, the National Science Foundation, Verizon,
Boeing, the US House of Representatives, Kaiser, Petco, Mary Kay, and Microsoft.
Why not your company?
-
Receive a four day, hands-on, intensive workshop.
-
We fly to you, anywhere in the world.
-
We can bring our own laptops.
To learn more, visit the
Superexpert Training website.