001.
using
System;
002.
using
System.Data;
003.
using
System.Web.UI.WebControls;
004.
005.
protected
void
Page_Load(
object
sender, EventArgs e)
006.
{
007.
if
(!IsPostBack)
008.
{
009.
BindGridview();
010.
BindSecondGrid();
011.
}
012.
}
013.
014.
protected
void
BindGridview()
015.
{
016.
DataTable dt =
new
DataTable();
017.
dt.Columns.Add(
"UserId"
,
typeof
(Int32));
018.
dt.Columns.Add(
"UserName"
,
typeof
(
string
));
019.
dt.Columns.Add(
"Education"
,
typeof
(
string
));
020.
dt.Columns.Add(
"Location"
,
typeof
(
string
));
021.
DataRow dtrow = dt.NewRow();
022.
dtrow[
"UserId"
] = 1;
023.
dtrow[
"UserName"
] =
"SureshDasari"
;
024.
dtrow[
"Education"
] =
"B.Tech"
;
025.
dtrow[
"Location"
] =
"Chennai"
;
026.
dt.Rows.Add(dtrow);
027.
dtrow = dt.NewRow();
028.
dtrow[
"UserId"
] = 2;
029.
dtrow[
"UserName"
] =
"MadhavSai"
;
030.
dtrow[
"Education"
] =
"MBA"
;
031.
dtrow[
"Location"
] =
"Nagpur"
;
032.
dt.Rows.Add(dtrow);
033.
dtrow = dt.NewRow();
034.
dtrow[
"UserId"
] = 3;
035.
dtrow[
"UserName"
] =
"MaheshDasari"
;
036.
dtrow[
"Education"
] =
"B.Tech"
;
037.
dtrow[
"Location"
] =
"Nuzividu"
;
038.
dt.Rows.Add(dtrow);
039.
gvDetails.DataSource = dt;
040.
gvDetails.DataBind();
041.
}
042.
protected
void
chkSelect_CheckChanged(
object
sender, EventArgs e)
043.
{
044.
GetSelectedRows();
045.
BindSecondGrid();
046.
}
047.
protected
void
BindSecondGrid()
048.
{
049.
DataTable dt = (DataTable)ViewState[
"GetRecords"
];
050.
gvTranferRows.DataSource = dt;
051.
gvTranferRows.DataBind();
052.
}
053.
private
void
GetSelectedRows()
054.
{
055.
DataTable dt;
056.
if
(ViewState[
"GetRecords"
] !=
null
)
057.
{
058.
dt = (DataTable)ViewState[
"GetRecords"
];
059.
}
060.
else
061.
{
062.
dt = CreateTable();
063.
}
064.
for
(
int
i = 0; i < gvDetails.Rows.Count; i++)
065.
{
066.
CheckBox chk = (CheckBox)gvDetails.Rows[i].Cells[0].FindControl(
"chkSelect"
);
067.
if
(chk.Checked)
068.
{
069.
dt = AddGridRow(gvDetails.Rows[i], dt);
070.
}
071.
else
072.
{
073.
dt = RemoveRow(gvDetails.Rows[i], dt);
074.
}
075.
}
076.
ViewState[
"GetRecords"
] = dt;
077.
}
078.
079.
private
DataTable CreateTable()
080.
{
081.
DataTable dt =
new
DataTable();
082.
dt.Columns.Add(
"UserId"
);
083.
dt.Columns.Add(
"UserName"
);
084.
dt.Columns.Add(
"Education"
);
085.
dt.Columns.Add(
"Location"
);
086.
dt.AcceptChanges();
087.
return
dt;
088.
}
089.
090.
private
DataTable AddGridRow(GridViewRow gvRow, DataTable dt)
091.
{
092.
DataRow[] dr = dt.Select(
"UserId = '"
+ gvRow.Cells[1].Text +
"'"
);
093.
if
(dr.Length <= 0)
094.
{
095.
dt.Rows.Add();
096.
int
rowscount = dt.Rows.Count - 1;
097.
dt.Rows[rowscount][
"UserId"
] = gvRow.Cells[1].Text;
098.
dt.Rows[rowscount][
"UserName"
] = gvRow.Cells[2].Text;
099.
dt.Rows[rowscount][
"Education"
] = gvRow.Cells[3].Text;
100.
dt.Rows[rowscount][
"Location"
] = gvRow.Cells[4].Text;
101.
dt.AcceptChanges();
102.
}
103.
return
dt;
104.
}
105.
106.
private
DataTable RemoveRow(GridViewRow gvRow, DataTable dt)
107.
{
108.
DataRow[] dr = dt.Select(
"UserId = '"
+ gvRow.Cells[1].Text +
"'"
);
109.
if
(dr.Length > 0)
110.
{
111.
dt.Rows.Remove(dr[0]);
112.
dt.AcceptChanges();
113.
}
114.
return
dt;
115.
}