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:
GridViewnamedheaderGridViewGridViewnameddetailGridView
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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access