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.