Editing and updating data in gridview using objectdatasource control – Part 1804:33

  • 0
Published on January 9, 2018

Link for csharp, asp.net, ado.net, dotnet basics and sql server video tutorial playlists

Link for text version of this video

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.

https://cafeadobro.ro/

https://www.stagebox.uk/wp-includes/depo10-bonus10/

https://iavec.com.br/

Enjoyed this video?
"No Thanks. Please Close This Box!"