O'Reilly logo

ADO.NET Cookbook by Bill Hamilton

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

7.14. Using a DataView to Control Edits, Deletions, or Additions in Windows Forms

Problem

You need to selectively prevent users from editing, deleting, or adding data in a Windows Forms application.

Solution

Bind a DataView to Windows Forms controls.

The sample code contains four event handlers:

Form.Load

Sets up the sample by filling a DataTable with the Orders table from the Northwind sample database. A DataView is created from the table and bound to the data grid on the form.

Allow Delete Button.Click

Sets whether the DataView allows records to be deleted based on the value in a check box.

Allow Edit Button.Click

Sets whether the DataView allows records to be edited based on the value in a check box.

Allow Insert Button.Click

Sets whether the DataView allows records to be inserted based on the value in a check box.

The C# code is shown in Example 7-30.

Example 7-30. File: ControlDataEditWithDataViewForm.cs

// Namespaces, variables, and constants using System; using System.Configuration; using System.Data; using System.Data.SqlClient; private DataView dv; // . . . private void ControlDataEditWithDataViewForm_Load(object sender, System.EventArgs e) { // Fill the Order table. SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM Orders", ConfigurationSettings.AppSettings["Sql_ConnectString"]); DataTable dtOrders = new DataTable("Orders"); da.FillSchema(dtOrders, SchemaType.Source); da.Fill(dtOrders); // Create a view and bind it to the grid. dv = new DataView(dtOrders); dataGrid.DataSource ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required