5.16. Controlling Edits, Deletions, or Additions to Data with a DataView

Problem

You need to programmatically prevent users from editing, deleting, or adding data to a DataTable or DataView.

Solution

Use the AllowDelete, AllowEdit, and AllowInsert properties of a DataView.

The solution uses a table named ControlDataModification in the AdoDotNet35Cookbook database. Execute the following T-SQL statement to create the table:

	USE AdoDotNet35Cookbook
	GO
	CREATE TABLE ControlDataModification (
	    Id int NOT NULL PRIMARY KEY,
	    Field1 nvarchar(50) NULL,
	    Field2 nvarchar(50) NULL )

The solution needs some sample data in the table ControlDataModification. Create the data by executing the following T-SQL batch:

	USE AdoDotNet35Cookbook
	GO
	INSERT INTO ControlDataModification VALUES (1, 'Field1.1', 'Field2.1')
	INSERT INTO ControlDataModification VALUES (2, 'Field1.2', 'Field2.2')
	INSERT INTO ControlDataModification VALUES (3, 'Field1.3', 'Field2.3')

This solution fills a DataTable with the ControlDataModification table in the AdoDotNet35Cookbook database. A DataView is created from the default DataView for the table. The AllowDelete, AllowEdit, and AllowNew properties of the DataView are set to false. An attempt is made to delete, edit, and insert a record using the DataView. Next, the AllowDelete, AllowEdit, and AllowNew properties of the DataView are set to true and another attempt is made to delete, edit, and insert a record. Successes, failures, and the data in the DataView at different stages are written ...

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.