Binding Data to a Web Forms DataGrid
lượt xem 5
download
[ Team LiB ] Recipe 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
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Binding Data to a Web Forms DataGrid
- [ Team LiB ] Recipe 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 The code-behind file contains three event handlers and one method: Page.Load Calls the CreateDataSource( ) method and binds data to the Web Forms DataGrid, 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 the DataTable to a Session variable to cache the data source for the DataGrid. DataGrid.PageIndexChanged Gets the cached data from the Session variable, updates the CurrentPageIndex of the DataGrid, and binds the data to the grid. DataGrid.SortCommand Gets the cached data from the Session variable, sets the sort order of the default DataView for the data, and binds that DataView 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 e) { if(!Page.IsPostBack) { dataGrid.DataSource = CreateDataSource( ); dataGrid.DataKeyField = "OrderId"; dataGrid.DataBind( ); } } private DataTable CreateDataSource( ) { DataTable dt = new DataTable( ); // Create a DataAdapter and fill the Orders table with it. SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Orders", ConfigurationSettings.AppSettings["DataConnectString"]); da.Fill(dt); // Store data in session variable to store data between // posts to server. Session["DataSource"] = dt; return dt; } private void dataGrid_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e) { // Get the data from the session variable. DataView dv = ((DataTable)Session["DataSource"]).DefaultView; // Update the current page for the data grid.
- dataGrid.CurrentPageIndex = e.NewPageIndex; // Bind the data view to the data grid. dataGrid.DataSource = dv; dataGrid.DataBind( ); } private void dataGrid_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e) { // Get the data from the session variable. DataView dv = ((DataTable)Session["DataSource"]).DefaultView; // Set the sort of the data view. dv.Sort = e.SortExpression; // Bind the data view to the data grid. dataGrid.DataSource = dv; dataGrid.DataBind( ); } Discussion The DataGrid Web Form control retrieves tabular information from a data source and renders it in a web page. The control supports functionality for selecting, editing, deleting, sorting, and navigating the data. The DataGrid must be bound to a data source such as a DataReader, DataSet, DataTable, or DataView. Any class that implements the IEnumerable interface can be bound. The easiest way to create a DataGrid control is to drag the DataList control onto the web page design surface. The DataGrid control uses templates to display items, control layout, and provide functional capabilities similar to the DataList as described in Recipe 7.3. The differences are: • Item templates are created for columns in the grid rather for the entire grid. • A DataGrid column does not have an AlternatingItemTemplate, or a SelectedItemTemplate, or a SeparatorItemTemplate. To specify columns for and format the DataGrid, right-click on the DataList control on the design surface and select Property Builder. The DataGrid can also be customized by
- editing the HTML directly. A variety of DataGrid columns can be specified, but by default, columns are automatically generated based on the fields in the data source. The DataGrid supports the column types described in Table 7-5. Table 7-5. DataGrid column types Column type Description BoundColumn Specify the data source field to display as text. A command button in the grid that can invoke custom logic ButtonColumn when clicked. A button that supports in-place editing. These buttons raise EditCommandColumn events specific to in-place editing described in Table 7-6. HyperlinkColumn Displays the contents as a hyperlink. A custom layout based on a combination of HTML and Web TemplateColumn Server controls in a specified template. Among the events that the DataGrid supports are those designed to help implement common data editing and manipulation functionality. These events are described in Table 7-6. Table 7-6. Common DataGrid events for editing and navigation Event Description Raised when the in-place editing Cancel button is clicked for CancelCommand( ) an item in the control. Raised when the in-place editing Delete button is clicked for DeleteCommand( ) an item in the control. Raised when the in-place editing Edit button is clicked for an EditCommand( ) item in the control. Raised when a button other than an in-place editing button is ItemCommand( ) clicked. Raised when one of the page selection elements is clicked. PageIndexChanged( ) The AllowPaging property of the control must be set to true. SelectedIndexChanged( Raised when a different item is selected in the control ) between posts to the server.
- SortCommand( ) Raised when a column header is selected for sorting. Raised when the in-place editing Update button is clicked for UpdateCommand( ) an item in the control. The DataGrid does not inherently support editing, paging, sorting, or updating functionality. Instead, it exposes the events listed in Table 7-6, allowing the functionality to be added using event handling code. After the properties appropriate to the control are set, call the DataBind( ) method of the control or of the page to bind the data source to the server control. [ Team LiB ]
CÓ THỂ BẠN MUỐN DOWNLOAD
-
gsoap 2.7.9e user guide
242 p | 423 | 115
-
Java & XML
401 p | 185 | 85
-
Java and XML Data Binding
200 p | 151 | 32
-
GWT in Practice
377 p | 119 | 32
-
Advanced ASP.NET Program PRESENTER: MR. DOAN QUANG MINH .Agenda Some addition knowledge Performing
124 p | 97 | 15
-
Binding Data to a Web Forms DataList
9 p | 123 | 12
-
Using a DataView to Control Edits, Deletions, or Additions in Windows Forms
3 p | 94 | 9
-
Knockout.js Succinctly
68 p | 82 | 9
-
Pro .NET 2.0 Windows Forms and Custom Controls in C#
50 p | 72 | 7
-
Editing and Updating Data in a Web Forms DataGrid
10 p | 100 | 6
-
Binding Simple Data to Web Forms Controls
3 p | 95 | 5
-
Ebook ASP.net 2.0 databases - From novice to professional
656 p | 5 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn