Viewing source for Recipe1105vb.aspx
<%@ Page Language="VB" ClassName="Recipe1202vb" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.SqlClient" %>
<script runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
Dim dt As DataTable
Dim dc As DataColumn
Dim dr As DataRow
dt = New DataTable("jedi")
' Create Columns
dc = New DataColumn("jediID",GetType(Integer))
dc.AutoIncrement = True
dc.AutoIncrementSeed = 1
dc.AutoIncrementStep = 1
dt.Columns.Add(dc)
dc = New DataColumn("masterjediID",GetType(Integer))
dt.Columns.Add(dc)
dc = New DataColumn("name",GetType(String))
dt.Columns.Add(dc)
' Add rows
dr = dt.NewRow()
dr("masterjediID") = 0
dr("name") = "Yoda"
dt.Rows.Add(dr)
dr = dt.NewRow()
dr("masterjediID") = 1
dr("name") = "Mace Windu"
dt.Rows.Add(dr)
dr = dt.NewRow()
dr("masterjediID") = 1
dr("name") = "Count Dooku"
dt.Rows.Add(dr)
dr = dt.NewRow()
dr("masterjediID") = 3
dr("name") = "Qui-Gon Jinn"
dt.Rows.Add(dr)
dr = dt.NewRow()
dr("masterjediID") = 4
dr("name") = "Obi-Wan Kenobi"
dt.Rows.Add(dr)
If Not Page.IsPostBack Then
' Generate List of Jedi for Master Filter
DropDownList1.DataSource = dt
DropDownList1.DataTextField = "name"
DropDownList1.DataValueField = "jediID"
DropDownList1.DataBind()
DropDownList1.Items.Insert(0, New ListItem("", "0"))
End If
' Get filtered view from datatable dt
Dim dv As New DataView(dt)
If Int32.Parse(DropDownList1.SelectedItem.Value) > 0 Then
dv.RowFilter = "masterjediID = " + DropDownList1.SelectedItem.Value
End If
dv.Sort = "name"
DataGrid1.DataSource = dv
DataGrid1.DataBind()
End Sub
</script>
<html>
<head>
<title>Filtering the Contents of a DataSet</title>
</head>
<body>
<form id="Recipe1105" method="post" runat="server">
<P>
Filter By Master:
<asp:DropDownList id="DropDownList1" runat="server" AutoPostBack="True"></asp:DropDownList></P>
<P>
<asp:DataGrid id="DataGrid1" runat="server" BorderColor="#999999" BorderStyle="Solid" CellSpacing="2" BorderWidth="3px" BackColor="#CCCCCC" CellPadding="4" ForeColor="Black">
<SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#000099"></SelectedItemStyle>
<ItemStyle BackColor="White"></ItemStyle>
<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="Black"></HeaderStyle>
<FooterStyle BackColor="#CCCCCC"></FooterStyle>
<PagerStyle HorizontalAlign="Left" ForeColor="Black" BackColor="#CCCCCC" Mode="NumericPages"></PagerStyle>
</asp:DataGrid></P>
</form>
</body>
</html>