ASP.NET GridView Tutorial - Keep gridview in edit mode when update fails due to data conflict – Part 20

Database, Information Technology

ASP.NET GridView Tutorial

301 Lessons

Keep gridview in edit mode when update fails due to data conflict – Part 20

Link for csharp,,, dotnet basics and sql server video tutorial playlists

Link for text version of this video

In this video, we will discuss about
1. Diplaying appropriate status messages depending on the success of update.
2. If the update fails, leave the row in “Edit” mode.

Please watch Part 19 of gridview tutorial before proceeding.

If there are no concurrency conflicts and if the update succeeds, then we want to display successful status message.

On the other hand if there are data conflicts, and if the update fails, then we want to display failure status message. At the same time, we also want to retain the row in EDIT mode.

There are 3 steps to achieve this.
Step 1: In EmployeeDataAccessLayer class, change the return type of UpdateEmployee() method from “void” to “int”
public static int UpdateEmployee(int original_EmployeeId, string original_Name, string original_Gender, string original_City, string Name, string Gender,

string City)

ExecuteNonQuery() method of the command object, returns an integer indicating the number of rows updated. We want our UpdateEmployee() method to

return this value.
So, instead of “cmd.ExecuteNonQuery()” use “return cmd.ExecuteNonQuery()”

Step 2: Use “Updated” event handler of “ObjectDataSource1” control. This event is fired after the “Update” operation has completed, that is, after the execution of UpdateEmployee() method. Remember UpdateEmployee() method returns an integer back. Notice that we are checking if the “ReturnValue” is an integer. If it is an integer and greater than zero, then we are using the “RetunValue”(the value that is returned by UpdateEmployee() method) to initialize “AffectedRows” property. This “AffectedRows” property will be used in “GridView1_RowUpdated” event handler.

Step 3: Use “RowUpdated” event handler of “GridView1” control. Notice that we are using “AffectedRows” property to determine, if the update has succeeded or not. Remember this is the property that we initialized in Step 2.

To make things clear
1. First UpdateEmployee() method gets executed, and this method returns an integer value indicating the number of rows updated.
2. Then “Updated” event of “ObjectDataSource1” control is invoked. In this event handler method, we retrieve the value returned by “UpdateEmployee()”

and then use it to initialize “AffectedRows” property.
3. Finally “RowUpdated” event of “GridView1” control is invoked. In this event handler method, we use “AffectedRows” property to determine, if the update

has succeeded or not.

Make sure to include a “Label” control on your webform with ID=lblMessage.

    Access DataSource in AccessDataSource in Alert another gridview ascending asp net gridview access database c# bind xml to gridview data source controls datagridview datasource controls get data from access database gridview gridview bind to xml gridview edit gridview formatting gridview sqldatasource gridview xml c# gridview xml file ms access database example objectdatasource explained between bi-directional bidirectional bind xml file to gridview in binding xml file to gridview business objects C# c# accessdatasource c# data source object c# datagrid example c# get data from access database c# gridview sqldatasource c# sql data source connection string c# sqldatasource example c# sqldatasource selectcommand c# xslt example c# xslt transform xml document c# xslt tutorial cells changing data checkbox client-side code colspan CompareAllValues compute concurrency confirm ConflictDetection conflictdetection property content control controls convert xml node to attribute custom paging Data DataFormat String DataFormatString datagrid in datagrid in c# DataKeyNames dataset datasource datasource controls default paging delete delete confirmation delete data Deleting deleting data descending detailed data details view details view in DetailsView difference display Displaying displaying gridview document Drill Down Drilldown drilling down dropdownlist edit edit and update editing EmptyDataTemplate EmptyDataText event example Excel Export exporting footer footer row format formatting gridview at runtime Formatting gridview in code generate Grid View gridview gridview currency format gridview datasource xml file gridview date format gridview ms access database gridview retrieve templatefield value gridview RowDataBound gridview template gridview templatefield gridview templatefield get control GridViewDeletedEventArgs hierarchical data how how to display date in gridview without time How to get value from TemplateField in GridView how to pass data from gridview to another page in image field imagefield images implement implementing insert inside javascript jquery KeepInEditMode Merging. merge microsoft multiple rows nested nested gridview nesting no data no rows in datasource object datasource object datasource in objectdatasource objectdatasource in order OverwriteChanges page page numbers page size paging pdf properties read xml file with child nodes c# Repeater Retrieve ItemTemplate control value in Gridview row cells rowcommand rowdatabound rowdatabound event RowDataBound example RowDeleted event RowUpdated several rows show date only in gridview showing sort sort arrows sort images sortable Sorting sqldatasource sqldatasource in stored procedures summary data templatefield totals tutorial two or more rows Update update data Updated updating updating data Use use optimistic concurrency using validation Validation Controls web server when without without data source controls without datasource controls Word workbook working with xmldatasource in xslt basics xslt example xslt to transform xml to xml xslt transformation xslt transformation c# example