This is a migrated thread and some comments may be shown as answers.

Dependent Columns?

1 Answer 73 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Ryan
Top achievements
Rank 1
Ryan asked on 26 Jun 2013, 01:49 PM
I have two columns in my grid, that during edit mode, I would like them to be depending on each other.

I have a template column with a check box and a template column dropdown list.

If the check box is checked by Client, I want to set the selected value back the first option.  If the user selects any item in the drop down list, I want to un-check the check box.

I am looking into the RadScriptBlock to use some JS ; but any help would be greatly appreciated.

1 Answer, 1 is accepted

Sort by
0
Princy
Top achievements
Rank 2
answered on 28 Jun 2013, 09:46 AM
Hi Ryan,

Please try the following code snippet.

ASPX:
<telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="true"
    AutoGenerateColumns="false" PageSize="15" >
    <MasterTableView>
        <Columns>
            <telerik:GridEditCommandColumn>
            </telerik:GridEditCommandColumn>
            <telerik:GridTemplateColumn>
                <EditItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text="CheckBox"></asp:Label>
                    <asp:CheckBox ID="CheckBox1" runat="server" OnCheckedChanged="OnCheckedChanged" AutoPostBack="true" />
                    <asp:Label ID="Label2" runat="server" Text="DropDownList"></asp:Label>
                    <asp:DropDownList ID="DropDownList1" runat="server" OnTextChanged="OnSelectedIndexChanged"
                        AutoPostBack="true">
                        <asp:ListItem Text="select"></asp:ListItem>
                        <asp:ListItem Text="aa" Value="aa"></asp:ListItem>
                        <asp:ListItem Text="bb" Value="bb"></asp:ListItem>
                    </asp:DropDownList>
                </EditItemTemplate>
            </telerik:GridTemplateColumn>
        </Columns>
    </MasterTableView>
</telerik:RadGrid>

C#:
protected void OnCheckedChanged(object sender, EventArgs e)
{
    CheckBox check1 = (CheckBox)sender;
    GridEditableItem item = (GridEditableItem)check1.NamingContainer;
    DropDownList drop1 = (DropDownList)item.FindControl("DropDownList1");
    if (check1.Checked==true)
    {
        drop1.SelectedValue = "aa";
        drop1.DataBind();
    }       
}
 
protected void OnSelectedIndexChanged(object sender, EventArgs e)
{   
    DropDownList ddl = (DropDownList)sender;
    GridEditableItem item = (GridEditableItem)ddl.NamingContainer;
    CheckBox check = (CheckBox)item.FindControl("CheckBox1");
    string str = ddl.SelectedValue;
    if (str == "aa")
    {
        check.Checked = true;
        ddl.DataBind();
    }
    else
    {
        check.Checked = false;
        ddl.DataBind();
    }    
}

Hope this is what you require.If not please let know.

Thanks,
Princy
Tags
Grid
Asked by
Ryan
Top achievements
Rank 1
Answers by
Princy
Top achievements
Rank 2
Share this question
or