■
CONTENTS
xvii
Repeated-Value Data Binding
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
Data Binding with Simple List Controls
. . . . . . . . . . . . . . . . . . . . . . . 548
A Simple List Binding Example
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
Generic Collections
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
Multiple Binding
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Data Binding and View State
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
Data Binding with a Dictionary Collection
. . . . . . . . . . . . . . . . . . . . . 553
Using the DataValueField Property
. . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Data Binding with ADO.NET
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Creating a Record Editor
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Data Source Controls
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
The Page Life Cycle with Data Binding
. . . . . . . . . . . . . . . . . . . . . . . 565
The SqlDataSource
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Selecting Records
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Parameterized Commands
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Handling Errors
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
Updating Records
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574
The Last Word
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
■
CHAPTER 15
The Data Controls
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
The GridView
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
Automatically Generating Columns
. . . . . . . . . . . . . . . . . . . . . . . . . . 582
Defining Columns
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
Formatting the GridView
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
Formatting Fields
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
Using Styles
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
Formatting-Specific Values
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
Selecting a GridView Row
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
Adding a Select Button
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
Using Selection to Create a Master-Details Form
. . . . . . . . . . . . . . 598
Editing with the GridView
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
Sorting and Paging the GridView
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
Sorting
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603
Paging
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
Using GridView Templates
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
Using Multiple Templates
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
Editing Templates in Visual Studio
. . . . . . . . . . . . . . . . . . . . . . . . . . . 611
Handling Events in a Template
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612
Editing with a Template
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
MacDonald.book Page xvii Friday, December 30, 2005 12:59 PM