Javascript for Checkbox in Gridview

script type="text/javascript" language="javascript">

 

   

function ColorRow(CheckBoxObj)

{  

    if (CheckBoxObj.checked == true)

    {

        CheckBoxObj.parentElement.parentElement.style.backgroundColor='#88AAFF';

    }

    else

    {

        CheckBoxObj.parentElement.parentElement.style.backgroundColor='#FFFFFF';

    }

   

}

 

function ShowHideField(DecisionControl, ToggleControl)

{  

    var DecisionValue = getRadioSelectedValue(DecisionControl);

   

        if (DecisionValue =='True')

        {

            ToggleControl.style.visibility='visible';

        }

        else

        {

            ToggleControl.style.visibility='hidden';

        }

}  

 

function getRadioSelectedValue(radioList)

{

    var options = radioList.getElementsByTagName('input');

    for(i=0;i<options.length;i++)

    {

        var opt = options[i];

        if(opt.checked)

        {

        return opt.value;

        }

    }

}

 

</script>

 

Inline Coding of Gridview

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound">

            <Columns>

                <asp:TemplateField >

                    <ItemTemplate>

                        <asp:CheckBox ID="CheckMark" runat="server"></asp:CheckBox>

                    </ItemTemplate>

                   

                </asp:TemplateField>

                <asp:TemplateField HeaderText="ProductId">

                    <ItemTemplate>

                        <asp:Label ID="Label2" runat="server" Text='<%# Bind("ProductId") %>'></asp:Label>

                    </ItemTemplate>

                </asp:TemplateField>

                 <asp:TemplateField HeaderText="ProductName">

                    <ItemTemplate>

                        <asp:Label ID="Label3" runat="server" Text='<%# Bind("ProductName") %>'></asp:Label>

                    </ItemTemplate>

                </asp:TemplateField>

                 <asp:TemplateField HeaderText="UnitPrice">

                    <ItemTemplate>

                        <asp:Label ID="Label4" runat="server" Text='<%# Bind("UnitPrice") %>'></asp:Label>

                    </ItemTemplate>

                </asp:TemplateField >

                 <asp:TemplateField HeaderText="UnitsinStock">

                    <ItemTemplate>

                        <asp:Label  ID="TextUnitsInStock" runat="server" Text='<%# Bind("UnitsinStock") %>' ></asp:Label>

                    </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField HeaderText="Discontinued">

                  

                    <ItemTemplate>

                        <asp:RadioButtonList ID="rblDiscontinued" Text ='<%# Bind("Discontinued") %>' runat="server" >

                            <asp:ListItem Value="True"  >Yes</asp:ListItem>

                            <asp:ListItem Value="False" >No</asp:ListItem>

                        </asp:RadioButtonList>

                    </ItemTemplate>

                </asp:TemplateField>

                <asp:TemplateField HeaderText="Reason to discontinue?">

                    <ItemTemplate>

                        <asp:TextBox  ID="ReasonDiscontinue" runat="server" Text='<%# Bind("reason") %>' ></asp:TextBox>

                    </ItemTemplate>

                </asp:TemplateField>

            </Columns>

        </asp:GridView>

 

.cs

protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            Products products = new Products();

            ProductsTableAdapters.ProductsTableAdapter PTA = new ProductsTableAdapters.ProductsTableAdapter();

            PTA.Fill(products._Products);

            GridView1.DataSource = products._Products;

            GridView1.DataBind();

        }

    }

 

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

    {

        if (e.Row.RowType == DataControlRowType.DataRow)

        {

            TextBox  txtReasonDiscontinue =  ((TextBox)e.Row.FindControl("ReasonDiscontinue"));

            RadioButtonList rblDiscontinue = ((RadioButtonList)e.Row.FindControl("rblDiscontinued"));

            ((CheckBox)e.Row.FindControl("CheckMark")).Attributes.Add("onClick", "ColorRow(this)");

            string strDicontinued = rblDiscontinue.SelectedValue;

            if (String.Compare(strDicontinued.Trim(), "False", true) == 0)

            {

                txtReasonDiscontinue.Attributes.Add("Style", "visibility:hidden");

            }

            rblDiscontinue.Attributes.Add("onClick", "ShowHideField(this," + txtReasonDiscontinue.ClientID + ")");

        }

    }