7.4. Binding Data to a Web Forms DataGrid
Problem
You want to bind the result set from a query to
a
DataGrid
control.
Solution
Set the advanced properties of the DataGrid
as
demonstrated in the code for the Web Forms page as shown in Example 7-7.
Example 7-7. File: ADOCookbookCS0704.aspx
<asp:DataGrid id="dataGrid" style="Z-INDEX: 102; LEFT: 16px; POSITION: absolute; TOP: 56px" runat="server" AllowPaging="True" AllowSorting="True"> <AlternatingItemStyle BackColor="#FFFF99"></AlternatingItemStyle> </asp:DataGrid>
The code-behind file contains three event handlers and one method:
Page.Load
Calls the
CreateDataSource( )
method and binds data to the Web FormsDataGrid
, if the page is being loaded for the first time.CreateDataSource( )
This method fills a
DataTable
with the Orders table from the Northwind sample database and stores theDataTable
to aSession
variable to cache the data source for theDataGrid
.DataGrid.PageIndexChanged
Gets the cached data from the
Session
variable, updates theCurrentPageIndex
of theDataGrid
, and binds the data to the grid.DataGrid.SortCommand
Gets the cached data from the
Session
variable, sets the sort order of the defaultDataView
for the data, and binds thatDataView
to the grid.
The C# code for the code-behind is shown in Example 7-8.
Example 7-8. File: ADOCookbookCS0704.aspx.cs
// Namespaces, variables, and constants using System; using System.Configuration; using System.Data; using System.Data.SqlClient; private void Page_Load(object sender, System.EventArgs ...
Get ADO.NET Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.