Introduction:
Here I will explain how to move or transfer selected checkbox gridview rows to another gridview in asp.net using c#, vb.net or copy one gridview row to another gridview in asp.net using c#, vb.net.
Here I will explain how to move or transfer selected checkbox gridview rows to another gridview in asp.net using c#, vb.net or copy one gridview row to another gridview in asp.net using c#, vb.net.
Description:
In previous posts I explained Display images in gridview from database in asp.net, Enable/Disable checkbox in gridview based on condition, asp.net gridview examples and bind data to textbox control in gridview, Bind data to dropdownlist in gridview and many articles relating to asp.net, c#, vb.net, c#, vb.net. Now I will explain how to move selected rows from one gridview to another gridview in asp.net using c#, vb.net.
In previous posts I explained Display images in gridview from database in asp.net, Enable/Disable checkbox in gridview based on condition, asp.net gridview examples and bind data to textbox control in gridview, Bind data to dropdownlist in gridview and many articles relating to asp.net, c#, vb.net, c#, vb.net. Now I will explain how to move selected rows from one gridview to another gridview in asp.net using c#, vb.net.
To implement this first we need to
write the code in aspx page like this
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Tranfer selected gridview rows to another gridview in
Asp.net</title>
</head>
<body>
<form id="form1"
runat="server">
<div>
<asp:GridView ID="gvDetails"
AutoGenerateColumns="false"
CellPadding="5"
runat="server">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="chkSelect"
runat="server"
AutoPostBack="true"
OnCheckedChanged="chkSelect_CheckChanged"
/>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="UserId" DataField="UserId" />
<asp:BoundField HeaderText="UserName" DataField="UserName" />
<asp:BoundField HeaderText="Education" DataField="Education" />
<asp:BoundField HeaderText="Location" DataField="Location" />
</Columns>
<HeaderStyle BackColor="#df5015" Font-Bold="true" ForeColor="White" />
</asp:GridView>
<br />
<b>Second Gridview Data</b>
<asp:GridView ID="gvTranferRows"
AutoGenerateColumns="false"
CellPadding="5"
runat="server"
EmptyDataText="No
Records Found">
<Columns>
<asp:BoundField HeaderText="UserId" DataField="UserId" />
<asp:BoundField HeaderText="UserName" DataField="UserName" />
<asp:BoundField HeaderText="Education" DataField="Education" />
<asp:BoundField HeaderText="Location" DataField="Location" />
</Columns>
<HeaderStyle BackColor="#df5015" Font-Bold="true" ForeColor="White" />
</asp:GridView>
</div>
</form>
</body>
</html>
|
Now
add following namespaces in codebehind
C# Code
using System;
using System.Data;
using System.Web.UI.WebControls;
|
After
that add following code in code behind
|
VB.NET Code
Imports System.Data
Imports System.Web.UI.WebControls
Partial Class VBCode
Inherits System.Web.UI.Page
Protected Sub
Page_Load(ByVal sender As Object, ByVal e As
EventArgs) Handles Me.Load
If Not IsPostBack Then
BindGridview()
BindSecondGrid()
End If
End Sub
Protected Sub
BindGridview()
Dim dt As New DataTable()
dt.Columns.Add("UserId",
GetType(Int32))
dt.Columns.Add("UserName",
GetType(String))
dt.Columns.Add("Education",
GetType(String))
dt.Columns.Add("Location",
GetType(String))
Dim dtrow As DataRow = dt.NewRow()
' Create New Row
dtrow("UserId")
= 1
'Bind Data to Columns
dtrow("UserName")
= "SureshDasari"
dtrow("Education")
= "B.Tech"
dtrow("Location")
= "Chennai"
dt.Rows.Add(dtrow)
dtrow = dt.NewRow()
' Create New Row
dtrow("UserId")
= 2
'Bind Data to Columns
dtrow("UserName")
= "MadhavSai"
dtrow("Education")
= "MBA"
dtrow("Location")
= "Nagpur"
dt.Rows.Add(dtrow)
dtrow = dt.NewRow()
' Create New Row
dtrow("UserId")
= 3
'Bind Data to Columns
dtrow("UserName")
= "MaheshDasari"
dtrow("Education")
= "B.Tech"
dtrow("Location")
= "Nuzividu"
dt.Rows.Add(dtrow)
gvDetails.DataSource = dt
gvDetails.DataBind()
End Sub
Protected Sub
chkSelect_CheckChanged(ByVal sender As Object, ByVal e As
EventArgs)
GetSelectedRows()
BindSecondGrid()
End Sub
Protected Sub
BindSecondGrid()
Dim dt As DataTable = DirectCast(ViewState("GetRecords"),
DataTable)
gvTranferRows.DataSource = dt
gvTranferRows.DataBind()
End Sub
Private Sub
GetSelectedRows()
Dim dt As DataTable
If ViewState("GetRecords")
IsNot Nothing
Then
dt = DirectCast(ViewState("GetRecords"), DataTable)
Else
dt = CreateTable()
End If
For i As Integer = 0 To
gvDetails.Rows.Count - 1
Dim chk As CheckBox = DirectCast(gvDetails.Rows(i).Cells(0).FindControl("chkSelect"), CheckBox)
If chk.Checked Then
dt = AddGridRow(gvDetails.Rows(i), dt)
Else
dt = RemoveRow(gvDetails.Rows(i), dt)
End If
Next
ViewState("GetRecords")
= dt
End Sub
Private Function
CreateTable() As DataTable
Dim dt As New DataTable()
dt.Columns.Add("UserId")
dt.Columns.Add("UserName")
dt.Columns.Add("Education")
dt.Columns.Add("Location")
dt.AcceptChanges()
Return dt
End Function
Private Function
AddGridRow(ByVal gvRow As GridViewRow, ByVal
dt As DataTable) As
DataTable
Dim dr As DataRow() =
dt.[Select]("UserId = '" &
gvRow.Cells(1).Text & "'")
If dr.Length <= 0 Then
dt.Rows.Add()
Dim rowscount As Integer = dt.Rows.Count - 1
dt.Rows(rowscount)("UserId")
= gvRow.Cells(1).Text
dt.Rows(rowscount)("UserName")
= gvRow.Cells(2).Text
dt.Rows(rowscount)("Education")
= gvRow.Cells(3).Text
dt.Rows(rowscount)("Location")
= gvRow.Cells(4).Text
dt.AcceptChanges()
End If
Return dt
End Function
Private Function
RemoveRow(ByVal gvRow As GridViewRow, ByVal dt As DataTable) As
DataTable
Dim dr As DataRow() =
dt.[Select]("UserId = '" &
gvRow.Cells(1).Text & "'")
If dr.Length > 0 Then
dt.Rows.Remove(dr(0))
dt.AcceptChanges()
End If
Return dt
End Function
End Class
|
|
Demo

No comments :
Post a Comment