Hi Prati23@,
I have created sample code which fullfill your requirement.
HTML
Default.aspx page
<form id="form1" runat="server">
<div>
<asp:GridView ID="gvRecord" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Action">
<ItemTemplate>
<asp:CheckBox ID="checkRecord" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="CustomerId">
<ItemTemplate>
<asp:Label ID="lblCustomerId" Text='<%#Eval("CustomerId") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblCustomerName" Text='<%#Eval("CustomerName")%>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="lblcountry" Text='<%#Eval("Country")%>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Action">
<ItemTemplate>
<asp:Button Text="Edit" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:Button ID="btnSubmit" Text="Transfer" OnClick="onclick" runat="server" />
</div>
</form>
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.GetCustomerData();
}
}
private void GetCustomerData()
{
DataTable dt = new DataTable();
dt.Columns.Add("CustomerId", typeof(int));
dt.Columns.Add("CustomerName", typeof(string));
dt.Columns.Add("Country", typeof(string));
dt.Rows.Add(1, "peter", "USA");
dt.Rows.Add(2, "Maria ", "France");
dt.Rows.Add(3, "Antonio Moreno", "Brazil");
dt.Rows.Add(4, "Thomas Hardy", "Ireland");
dt.Rows.Add(5, "Hanna Moos ", "Finland");
dt.Rows.Add(6, "Martín Sommer ", "USA");
gvRecord.DataSource = dt;
gvRecord.DataBind();
}
protected void onclick(object sender, EventArgs e)
{
// Dummy DataTable
DataTable dtfk = new DataTable();
dtfk.Columns.Add("CustomerId", typeof(int));
dtfk.Columns.Add("CustomerName", typeof(string));
dtfk.Columns.Add("Country", typeof(string));
foreach (GridViewRow row in gvRecord.Rows)
{
CheckBox check = row.FindControl("checkRecord") as CheckBox;
if (check.Checked)
{
int customerId = Convert.ToInt32((row.FindControl("lblCustomerId") as Label).Text);
string customerName = (row.FindControl("lblCustomerName") as Label).Text;
string country = (row.FindControl("lblcountry") as Label).Text;
dtfk.Rows.Add(customerId, customerName, country);
}
}
Session["GrdiviewData"] = dtfk;
Response.Redirect("Default2.aspx");
}
HTML
Default2.aspx Page
<form id="form1" runat="server">
<div>
<asp:GridView ID="gvRecord" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Action">
<ItemTemplate>
<asp:CheckBox ID="checkRecord" Checked="true" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="CustomerId">
<ItemTemplate>
<asp:Label ID="Label1" Text='<%#Eval("CustomerId") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label2" Text='<%#Eval("CustomerName")%>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label1" Text='<%#Eval("Country")%>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Action">
<ItemTemplate>
<asp:Button ID="Button1" Text="Edit" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</form>
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.GetData();
}
}
private void GetData()
{
DataTable dt = (DataTable)Session["GrdiviewData"];
gvRecord.DataSource = dt;
gvRecord.DataBind();
}
Screenshot
