ASP.NET GridView Tutorial - asp.net detailsview insert update delete without using data source controls – Part 42

Database, Information Technology

ASP.NET GridView Tutorial

301 Lessons

asp.net detailsview insert update delete without using data source controls – Part 42

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/04/aspnet-detailsview-insert-update-delete.html

In this video we will discuss about inserting, updating and deleting data from detailsview without using any datasource control.

When the webform is loaded, the gridview control, should retrieve and display all the rows from tblEmployee table. As soon as I select a row, in the gridview control, then all the columns of the selected row, should be displayed in details view control. Then, we should be able to edit, delete and add a new employee using the DetailsView control.

We will be using tblEmployee table for this demo. If you need sql script to create this table, please refer to Part 37 using the link below.
http://csharp-video-tutorials.blogspot.com/2013/03/detailsview-in-aspnet-part-37.html

We implemented EmployeeDataAccessLayer with methods to Select, Insert, Update and Delete data in Part 41. We will be using EmployeeDataAccessLayer for this demo, if you need the code, please refer to Part 41 using the link below.
http://csharp-video-tutorials.blogspot.com/2013/03/aspnet-detailsview-insert-update-delete_31.html

Step 1: Drag and drop “GridView” control on WebForm1.aspx

Step 2: On GridView1, set
DataKeyNames=Id
AutoGenerateSelectButton=”true”

Step 3: Generate event handler method for SelectedIndexChanged event of GridView1 control

Step 4: Drag and drop “DetailsView” control on WebForm1.aspx

Step 5: On DetailsView1, set
DataKeyNames=Id
AutoGenerateRows=”False”
AutoGenerateSelectButton=”True”
AutoGenerateDeleteButton=”True”
AutoGenerateEditButton=”True”
AutoGenerateInsertButton=”True”

Setp 6: Add 10 BoundField’s and set DataField and HeaderText accordingly.

Setp 7: Set ReadOnly=”True” and InsertVisible=”False” on the bound field that display, Id column value.

Step 8: Generate event handler method for the following events of DetailsView1 control.
ModeChanging
ItemInserting
ItemDeleting
ItemUpdating

Step 9: Copy and paste the following code in webform1.aspx.cs file
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridViewDataBind();
}
}

private void GridViewDataBind()
{
GridView1.DataSource = EmployeeDataAccessLayer.GetAllEmployeesBasicDetails();
GridView1.DataBind();
}

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
DetailsViewDataBind();
}

private void DetailsViewDataBind()
{
if (GridView1.SelectedDataKey != null)
{
DetailsView1.Visible = true;

// In the line below change square bracket to angular bracket
List[Employee] listEmployee = new List[Employee]();
listEmployee.Add(EmployeeDataAccessLayer.GetEmployeesFullDetailsById((int)GridView1.SelectedDataKey.Value));

DetailsView1.DataSource = listEmployee;
DetailsView1.DataBind();
}
else
{
DetailsView1.Visible = false;
}
}

protected void DetailsView1_ModeChanging(object sender, DetailsViewModeEventArgs e)
{
DetailsView1.ChangeMode(e.NewMode);
DetailsViewDataBind();
}

protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
EmployeeDataAccessLayer.InsertEmployee(e.Values[“FirstName”].ToString(),
e.Values[“LastName”].ToString(), e.Values[“City”].ToString(),
e.Values[“Gender”].ToString(), Convert.ToDateTime(e.Values[“DateOfBirth”]),
e.Values[“Country”].ToString(), Convert.ToInt32(e.Values[“Salary”]),
Convert.ToDateTime(e.Values[“DateOfJoining”]), e.Values[“MaritalStatus”].ToString());

DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);

GridViewDataBind();
GridView1.SelectRow(-1);
}

protected void DetailsView1_ItemDeleting(object sender, DetailsViewDeleteEventArgs e)
{
EmployeeDataAccessLayer.DeleteEmployee((int)GridView1.SelectedDataKey.Value);

GridViewDataBind();
GridView1.SelectRow(-1);
}

protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
{
int employeeId = (int)GridView1.SelectedDataKey.Value;
EmployeeDataAccessLayer.UpdateEmployee(employeeId,
e.NewValues[“FirstName”].ToString(), e.NewValues[“LastName”].ToString(),
e.NewValues[“City”].ToString(), e.NewValues[“Gender”].ToString(),
Convert.ToDateTime(e.NewValues[“DateOfBirth”]), e.NewValues[“Country”].ToString(),
Convert.ToInt32(e.NewValues[“Salary”]), Convert.ToDateTime(e.NewValues[“DateOfJoining”]),
e.NewValues[“MaritalStatus”].ToString());

DetailsView1.ChangeMode(DetailsViewMode.ReadOnly);

GridViewDataBind();
GridView1.SelectRow(-1);
}

    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