8.9. Synchronizing Master-Detail Data in a Web Forms Application
Problem
You need to create a master-detail pair of GridView
controls and synchronize them so that when you select a record in the master, the child grid is updated with the corresponding records.
Solution
Fill a DataSet
with results from both tables, and create the master-detail relation before binding the GridView
controls to the DataSet
. Handle the SelectedIndexChanged
event in the parent GridView
and set the source for the child GridView
to the set of related child records using the CreateChildView()
method.
Follow these steps:
Create a C# ASP.NET web application named
MasterDetailWebFormDataGrid
.Add the following controls to the Default.aspx design surface:
GridView
namedheaderGridView
GridView
nameddetailGridView
The completed layout of the Web Form page Default.aspx is shown in Figure 8-17.
Figure 8-17. Layout for Default.aspx in MasterDetailWebFormDataGrid solution
The code in Default.aspx in the project MasterDetailWebFormDataGrid
is shown in Example 8-17.
Example 8-17. File: Default.aspx for MasterDetailWebFormDataGrid solution
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="MasterDetailWebFormDataGrid._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head ...
Get ADO.NET 3.5 Cookbook, 2nd Edition 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.