Set CheckBox checked (selected) on GridView Edit Button Click using C# and VB.Net in ASP.Net

Last Reply 3 months ago By pandeyism

Posted 3 months ago

I am trying to set checked value in two different checkbox first is card pay and another is cash pay sohow can I set values in bot of them as i had joined the value of both checkbox to store in a single field 

please suggest

thanks

<asp:CheckBox ID="Cashpay" Text="Cash" runat="server" CssClass="bg-info" />
<asp:CheckBox ID="Cardpay" Text="Card" runat="server" CssClass="bg-info" />
<asp:TemplateField HeaderText="Payment Mode">
    <ItemTemplate>
        <asp:Label ID="lblpay" runat="server" Text='<%#Eval("payment_mode") %>'></asp:Label>
    </ItemTemplate>
</asp:TemplateField>

 

        protected void btnEdit_Click(object sender, EventArgs e)
        {
            
            try
            {
                Button btn = sender as Button;
                GridViewRow grow = btn.NamingContainer as GridViewRow;
                Id.Value = (grow.FindControl("Id") as Label).Text;
                Image img = (grow.FindControl("img") as Image);
                txt_email.Text = (grow.FindControl("lblemail") as Label).Text;
                txt_link.Text = (grow.FindControl("lblweb") as Label).Text;
                txt_img.Text = (grow.FindControl("lblimg") as Label).Text;
                txt_name.Text = (grow.FindControl("lblname") as Label).Text;
                //CheckBoxList1.Text = (grow.FindControl("lblpay") as Label).Text;
                
                txt_toll.Text = (grow.FindControl("lbltoll") as Label).Text;
                txt_Address.Text = (grow.FindControl("lblAddress") as Label).Text;
                Image1.ImageUrl = img.ImageUrl;
                btnUpdate.Visible = true;
                string value = (grow.FindControl("lblBname") as Label).Text;
                DropDownList1.ClearSelection();
                DropDownList1.Items.FindByText(value).Selected = true;
                string value2 = (grow.FindControl("lblcity") as Label).Text;
                DropDownList2.ClearSelection();
                DropDownList2.Items.FindByValue(value2).Selected = true;
                
                string from = (grow.FindControl("lblopen") as Label).Text;
                string[] parts = from.Split(',');
                ddlTimeFrom.ClearSelection();ddlTimeTo.ClearSelection();
                ddlTimeFrom.Items.FindByValue(parts[0].Trim()).Selected = true;
                ddlTimeTo.Items.FindByValue(parts[1].Trim()).Selected = true;

                string chk = (grow.FindControl("lblpay") as Label).Text;
                string[] sp = chk.Split(',');
                Cardpay.FindControl(sp[0].Trim());
                Cashpay.FindControl(sp[1].Trim());
            }
            catch(Exception ex)
            {
                Response.Write(ex);
            }
        }       

 

Posted 3 months ago Modified on 3 months ago

Hi itsme,

Refer below sample.

HTML

<asp:CheckBox ID="Cashpay" Text="Cash" runat="server" CssClass="bg-info" />
<asp:CheckBox ID="Cardpay" Text="Card" runat="server" CssClass="bg-info" />
<br />
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
    <Columns>
        <asp:TemplateField HeaderText="Payment Mode">
            <ItemTemplate>
                <asp:Label ID="lblId" runat="server" Text='<%#Eval("Id") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Payment Mode">
            <ItemTemplate>
                <asp:Label ID="lblpay" runat="server" Text='<%#Eval("payment_mode") %>'></asp:Label>
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Payment Mode">
            <ItemTemplate>
                <asp:Button Text="Edit" runat="server" OnClick="btnEdit_Click" />
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

Namespaces

C#

using System.Data;
using System.Data.SqlClient;
using System.Configuration;

VB.Net

Imports System.Data
Imports System.Data.SqlClient
Imports System.Configuration

Code

C#

protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        BindGrid();
    }
}

private void BindGrid()
{
    string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
    SqlConnection con = new SqlConnection(constr);
    SqlCommand cmd = new SqlCommand("SELECT Id, payment_mode FROM UpdatePaymentMode", con);
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataTable dt = new DataTable();
    da.Fill(dt);
    GridView1.DataSource = dt;
    GridView1.DataBind();
}

protected void btnEdit_Click(object sender, EventArgs e)
{
    Button btn = sender as Button;
    GridViewRow grow = btn.NamingContainer as GridViewRow;
    string value = (grow.FindControl("lblpay") as Label).Text;
    if (value == "Cash")
    {
        Cashpay.Checked = true;
        Cardpay.Checked = false;
    }
    if (value == "Card,Cash")
    {
        Cashpay.Checked = true;
        Cardpay.Checked = true;
    }
    if (value == "Cash,Card")
    {
        Cashpay.Checked = true;
        Cardpay.Checked = true;
    }
    if (value == "Card")
    {
        Cardpay.Checked = true;
        Cashpay.Checked = false;
    }
}

VB.Net

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)Handle Me.Load
        If Not Me.IsPostBack Then
            BindGrid()
        End If
    End Sub
    Private Sub BindGrid()
        Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString
        Dim con As SqlConnection = New SqlConnection(constr)
        Dim cmd As SqlCommand = New SqlCommand("SELECT Id, payment_mode FROM UpdatePaymentMode", con)
        Dim da As SqlDataAdapter = New SqlDataAdapter(cmd)
        Dim dt As DataTable = New DataTable()
        da.Fill(dt)
        GridView1.DataSource = dt
        GridView1.DataBind()
    End Sub
    Protected Sub btnEdit_Click(ByVal sender As Object, ByVal e As EventArgs)
        Dim btn As Button = TryCast(sender, Button)
        Dim grow As GridViewRow = TryCast(btn.NamingContainer, GridViewRow)
        Dim value As String = (TryCast(grow.FindControl("lblpay"), Label)).Text
        If value = "Cash" Then
            Cashpay.Checked = True
            Cardpay.Checked = False
        End If
        If value = "Card,Cash" Then
            Cashpay.Checked = True
            Cardpay.Checked = True
        End If
        If value = "Cash,Card" Then
            Cashpay.Checked = True
            Cardpay.Checked = True
        End If
        If value = "Card" Then
            Cardpay.Checked = True
            Cashpay.Checked = False
        End If
    End Sub

Screenshot