Introduction
The DetailsView Control enable us to work with a single data item at a time.
This control enable us to display, edit, insert, and delete data items such as
database records. Furthermore, it also enable us to page forward and backward
through a set of data items. The DetailsView control always renders each field
in a separate HTML table row.
Displaying Data in DetailsView
A DetailsView control renders an HTML table that displays the contents of a
single database record. The DetailsView supports both declarative and
programmatic databinding.
Declarative Databinding
The example given below displays a record from the PRO_LIST database table,
using declarative databinding.

<%@
Page Language="VB"
AutoEventWireup="false"
CodeFile="DetailsView
(Declarative).aspx.vb" Inherits="_Default"
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DetailsView
id="dtlProducts"
DataSourceID="SqlDataSource1"
Runat="server" />
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DatabaseConnectionString1 %>"
ProviderName="<%$ ConnectionStrings:DatabaseConnectionString1.ProviderName %>"
SelectCommand="SELECT [ID], [TITLE], [COMPANY], [PRICE], [AVAILABLITY] FROM [PRO_LIST]">
</asp:SqlDataSource>
</div>
</form>
</body>
</html>
In above example, the SQL Select statement associated with the SqlDataSource
control retrieves the first product from the PRO_LIST database table. The
DetailsView control is bound to the SqlDataSource control through its
DataSourceID property.
Programmatically Databinding
We also can bind a DetailsView control programmatically to a data source. The
page given below contains a DetailsView that is bound to a collection of
products.
<%@
Page Language="VB"
%>
<!DOCTYPE
html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Public Class Product
Public id As String
Public name As String
Public company As Boolean
Public ReadOnly Property id_id() As String
Get
Return id
End Get
End Property
Public ReadOnly Property name_name() As String
Get
Return name
End Get
End Property
Public ReadOnly Property company_company() As String
Get
Return company
End Get
End Property
Public Sub New(ByVal id_id As String, ByVal name_name As String, ByVal company_company As String)
id = id_id
name = name_name
company = company_company
End Sub
End Class
Private Sub Page_Load()
Dim NewProducts As New Product("1", "HDD", "Intel")
Dim pro As New ListBox(Of Product)()
pro.Add(NewProducts)
dtlProducts.DataSource = pro
dtlProducts.DataBind()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DetailsView
id="dtlProducts"
Runat="server" />
</div>
</form>
</body>
</html>
In above example, an Product class is defined, which contains properties for the
product like id, name and company. In the Page_Load() method, a new product is
created and added to a generic collection. This collection is bound to the
DetailsView control.
Note: Continue in Next Part.

Join the conversation! Your thoughts help the community grow.