ASP.NET GridView Tutorial - Editing and updating data in gridview using objectdatasource control – Part 18

Database, Information Technology

ASP.NET GridView Tutorial

301 Lessons

Editing and updating data in gridview using objectdatasource control – Part 18

Link for csharp, asp.net, ado.net, dotnet basics and sql server video tutorial playlists
http://www.youtube.com/user/kudvenkat/playlists

Link for text version of this video
http://csharp-video-tutorials.blogspot.com/2013/03/editing-and-updating-data-in-gridview_9.html

In this video we will discuss about editing and updating data in gridview control using objectdatasource control

We will be using tblEmployee table for this demo. SQL script to create and populate this table with sample data is available in Part 13 of asp.net gridview tutorial.

Create an asp.net web application. Drag and drop a objectdatasource control and a gridview control on webform1.aspx.

Steps to update a row in gridview using objectdatasource control.
1. Create EmployeeDataAccessLayer class
2. Create Employee business object in EmployeeDataAccessLayer.cs file
3. Add a static method to select all employees in EmployeeDataAccessLayer class
4. Add a static method to update employee record using EmployeeId, in EmployeeDataAccessLayer class
5. Configure objectdatasource and gridview control.

Now let us look at the steps in detail.
Step 1: Create EmployeeDataAccessLayer class
Right click on the web application project and add a class file with name EmployeeDataAccessLayer.cs

Step 2: Create Employee business object in EmployeeDataAccessLayer.cs file
public class Employee
{
public int EmployeeId { get; set; }
public string Name { get; set; }
public string Gender { get; set; }
public string City { get; set; }
}

Step 3: Add a static method to select all employees in EmployeeDataAccessLayer class

Step 4: Add a static method to update employee record in EmployeeDataAccessLayer class
public static void UpdateEmployee(int EmployeeId, string Name,
string Gender, string City)
{
string CS = ConfigurationManager.ConnectionStrings[“DBCS”].ConnectionString;
using (SqlConnection con = new SqlConnection(CS))
{
string updateQuery = “Update tblEmployee SET Name = @Name, ” +
“Gender = @Gender, City = @City WHERE EmployeeId = @EmployeeId “;
SqlCommand cmd = new SqlCommand(updateQuery, con);
SqlParameter paramEmployeeId = new SqlParameter(“@EmployeeId”, EmployeeId);
cmd.Parameters.Add(paramEmployeeId);
SqlParameter paramName = new SqlParameter(“@Name”, Name);
cmd.Parameters.Add(paramName);
SqlParameter paramGender = new SqlParameter(“@Gender”, Gender);
cmd.Parameters.Add(paramGender);
SqlParameter paramCity = new SqlParameter(“@City”, City);
cmd.Parameters.Add(paramCity);
con.Open();
cmd.ExecuteNonQuery();
}
}

Step 5: Configure objectdatasource and gridview control.
Compile the project. If the project is not compiled, EmployeeDataAccessLayer class may not show up in the wizard when configuring objectdatasource control.
1. Right click on “ObjectDataSource1” control and select “Show Smart Tag”
2. Now click on “Configure Data Source” link
3. Select “EmployeeDataAccessLayer” class from “Choose your business object dropdownlist” and click next
4. On “Define Data Methods” screen, select “GetAllEmployees” method
5. Now click on “UPDATE” tab and select “UpdateEmployee()” method and click Finish

Now, associate “ObjectDataSource1” with “GridView1” and make sure you select “Enable Editing” check box, in “GridView Tasks” pane.

Run the application and click “Edit” button. Notice that “EmployeeId” is also editable. This column is the primary key column and should not be allowed to change. If you don’t want a specific column to be editable in gridview, set the column’s “ReadOnly” attribute to “true”. Once we set “EmployeeId” bound column’s “ReadOnly” attribute to “true”, the row is not updated. This is because, EmployeeId is passed as ZERO. To correct this issue, set GridView1 control’s DataKeyNames=”EmployeeId”. After these 2 changes, the gridview’s EDIT and UPDATE functionality should work as expected.

    Access DataSource in asp.net AccessDataSource in asp.net Alert another gridview ascending asp net gridview access database asp.net asp.net c# bind xml to gridview asp.net data source controls asp.net datagridview asp.net datasource controls asp.net get data from access database asp.net gridview asp.net gridview bind to xml asp.net gridview edit asp.net gridview formatting asp.net gridview sqldatasource asp.net gridview xml c# asp.net gridview xml file asp.net ms access database example asp.net objectdatasource explained between bi-directional bidirectional bind xml file to gridview in asp.net 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 c#.net 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 asp.net 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 asp.net 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 asp.net 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 asp.net objectdatasource objectdatasource in asp.net 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 asp.net 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 asp.net xslt basics xslt example xslt to transform xml to xml xslt transformation xslt transformation c# example