Here i have explained how to Tranfer selected Gridview row Data to another gridview in Asp.Net C#.

Step 1) Add HTML:

<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>
</asp:GridView>
<br /> 

<b>Second Gridview </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>
</asp:GridView>

Step 2) Import Namespaces

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Web.Services;

Step 3) C#

    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));
        // Create New Row and bind Data to Columns
        DataRow dtrow = dt.NewRow();
        dtrow["UserId"] = 1;
        dtrow["UserName"] = "Firoz Khan";
        dtrow["Education"] = "BA";
        dtrow["Location"] = "Allahabad";
        dt.Rows.Add(dtrow);
        dtrow = dt.NewRow();

        // Create New Row and bind Data to Columns
        dtrow["UserId"] = 2;
        dtrow["UserName"] = "Priya Sharma";
        dtrow["Education"] = "MBA";
        dtrow["Location"] = "Delhi";
        dt.Rows.Add(dtrow);
        dtrow = dt.NewRow();

        // Create New Row and bind Data to Columns
        dtrow["UserId"] = 3;
        dtrow["UserName"] = "Siya Ram Tiwari";
        dtrow["Education"] = "B.Tech";
        dtrow["Location"] = "Kanpur";

        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;
    }

Screenshot

Add Comments