MOVE DATAS FROM ONE GRIDVIEW ROWS TO ANOTHER GRIDVIEW IN ASP.NET
grid.aspx
grid.aspx.cs
grid.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="groid.aspx.cs" Inherits="groid" %>
<!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></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>
</form>
</body>
</html>
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Data;
public partial class groid : System.Web.UI.Page
{
protected void Page_Load(object
sender, EventArgs e)
{
if
(!IsPostBack)
{
BindGridview();
BindSecondGrid();
}
}
protected void BindGridview()
{
DataTable
dt = new DataTable();
dt.Columns.Add("UserId",
typeof(Int32));
dt.Columns.Add("UserName",
typeof(string));
dt.Columns.Add("Education",
typeof(string));
dt.Columns.Add("Location",
typeof(string));
DataRow
dtrow = 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();
}
protected void chkSelect_CheckChanged(object
sender, EventArgs e)
{
GetSelectedRows();
BindSecondGrid();
}
protected void BindSecondGrid()
{
DataTable
dt = (DataTable)ViewState["GetRecords"];
gvTranferRows.DataSource = dt;
gvTranferRows.DataBind();
}
private void GetSelectedRows()
{
DataTable
dt;
if
(ViewState["GetRecords"] != null)
dt = (DataTable)ViewState["GetRecords"];
else
dt = CreateTable();
for (int i = 0; i < gvDetails.Rows.Count; i++)
{
CheckBox
chk = (CheckBox)gvDetails.Rows[i].Cells[0].FindControl("chkSelect");
if
(chk.Checked)
{
dt =
AddGridRow(gvDetails.Rows[i], dt);
}
else
{
dt =
RemoveRow(gvDetails.Rows[i], dt);
}
}
ViewState["GetRecords"]
= dt;
}
private DataTable CreateTable()
{
DataTable
dt = new DataTable();
dt.Columns.Add("UserId");
dt.Columns.Add("UserName");
dt.Columns.Add("Education");
dt.Columns.Add("Location");
dt.AcceptChanges();
return
dt;
}
private DataTable AddGridRow(GridViewRow
gvRow, DataTable dt)
{
DataRow[]
dr = dt.Select("UserId = '" +
gvRow.Cells[1].Text + "'");
if
(dr.Length <= 0)
{
dt.Rows.Add();
int
rowscount = 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();
}
return
dt;
}
private DataTable RemoveRow(GridViewRow
gvRow, DataTable dt)
{
DataRow[]
dr = dt.Select("UserId = '" +
gvRow.Cells[1].Text + "'");
if
(dr.Length > 0)
{
dt.Rows.Remove(dr[0]);
dt.AcceptChanges();
}
return
dt;
}
}
Download Source Code:gridview