DataList control link data is clicked then corresponding values will be shown in Gridview

Satyapriyanayak
Posted by Satyapriyanayak under ASP.NET category on | Points: 40 | Views : 983
Here we will know how to bind one field data as a link in DataList control and its related data will be shown in a gridview control.


Default.aspx code

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataList id="DataList1" DataKeyField="sid"
runat="server" Font-Bold="True">
<FooterStyle BackColor="#FFCC00" ForeColor="#FF3300" />
<EditItemStyle BackColor="#FF8080" />
<AlternatingItemStyle BackColor="#FFFF99" />
<HeaderTemplate>
Student Id
</HeaderTemplate>
<ItemTemplate>
<asp:LinkButton ID="l1" text='<%#container.dataitem("sid")%>' Runat="server">
</asp:LinkButton>
</ItemTemplate>
<HeaderStyle BackColor="#FF9933" />
<FooterTemplate>
Completed
</FooterTemplate>
</asp:DataList>
</div>
</form>
</body>
</html>

Default.aspx.vb code

Imports System.Data.SqlClient
Imports System.Data
Partial Class _Default
Inherits System.Web.UI.Page
Dim strConnString As String = System.Configuration.ConfigurationManager.ConnectionStrings.Item("ConnectionString").ToString()
Dim sqlda As SqlDataAdapter
Dim com As SqlCommand
Dim ds As DataSet
Dim dt As DataTable
Dim str As String
Dim con As New SqlConnection(strConnString)
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
con.Open()
Str = "select * from student"
com = New SqlCommand(Str, con)
sqlda = New SqlDataAdapter(com)
ds = New DataSet
sqlda.Fill(ds, "student")
DataList1.DataMember = "student"
DataList1.DataSource = ds
DataList1.DataBind()
con.Close()
End If
End Sub

Protected Sub DataList1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList1.ItemCommand
Dim s As String
s = DataList1.DataKeys(e.Item.ItemIndex)
Response.Redirect(String.Format("Default2.aspx?id={0}", s))
End Sub
End Class

Default2.aspx code

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" BackColor="#FF9999" runat="server">
<HeaderStyle BackColor="#FFCC99" />
</asp:GridView>
</div>
</form>
</body>
</html>

Default2.aspx.vb code

Imports System.Data.SqlClient
Imports System.Data
Partial Class Default2
Inherits System.Web.UI.Page
Dim strConnString As String = System.Configuration.ConfigurationManager.ConnectionStrings.Item("ConnectionString").ToString()
Dim sqlda As SqlDataAdapter
Dim com As SqlCommand
Dim ds As DataSet
Dim dt As DataTable
Dim str As String
Dim con As New SqlConnection(strConnString)
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
con.Open()
Str = "select * from student where sid='" & Request.QueryString("id") & "'"
com = New SqlCommand(Str, con)
sqlda = New SqlDataAdapter(com)
ds = New DataSet
ds.Clear()
ds.Reset()
sqlda.Fill(ds, "student")
GridView1.DataMember = "student"
GridView1.DataSource = ds
GridView1.DataBind()
con.Close()
End If
End Sub
End Class

Comments or Responses

Login to post response