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

Checkbox and Radio Button help

4 Answers 235 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Ryan
Top achievements
Rank 1
Ryan asked on 05 Dec 2011, 07:48 PM
I have the following Rad Grid.  There is a Critical Checkbox and a set of radio buttons.  If the user Checks the checkbox I would like it to change the radio button to Failed.  Is this possible?

    <telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="SqlDataSource1"
        GridLines="None">
<MasterTableView AutoGenerateColumns="False" DataSourceID="SqlDataSource1">
<CommandItemSettings ExportToPdfText="Export to Pdf"></CommandItemSettings>
 
    <Columns>
        <telerik:GridTemplateColumn DataField="Step" HeaderText="Step"
            SortExpression="Step" UniqueName="Step">
            <EditItemTemplate>
                <asp:TextBox ID="StepTextBox" runat="server" Text='<%# Bind("Step") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="StepLabel" runat="server" Text='<%# SetStepLevel(Eval("Step"),Eval("StepLevel")) %>'></asp:Label>
                <asp:HiddenField ID="ARQADID" runat="server" Value='<%# Eval("ARQADID") %>' />
                <asp:HiddenField ID="iUserID" runat="server" Value='<%# Eval("iUserID") %>' />
                <asp:HiddenField ID="iIssueID" runat="server" Value='<%# Eval("iIssueID") %>' />
                <asp:HiddenField ID="DateEntered" runat="server" Value='<%# Eval("DateEntered") %>' />
            </ItemTemplate>
        </telerik:GridTemplateColumn>
        <telerik:GridTemplateColumn DataField="Critical" DataType="System.Int32"
            HeaderText="Critical" SortExpression="Critical" UniqueName="Critical">
            <EditItemTemplate>
                <asp:TextBox ID="CriticalTextBox" runat="server" Text='<%# Bind("Critical") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:CheckBox ID="CriticalCheckBox" runat="server" Checked='<%# Eval("Critical") %>' Visible='<%# Eval("Evaluate") %>' />
            </ItemTemplate>
            <FooterStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
                Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center"
                Wrap="True" />
            <HeaderStyle Width="50px" Font-Bold="False" Font-Italic="False"
                Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
                HorizontalAlign="Center" Wrap="True" />
            <ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
                Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center"
                Wrap="True" />
        </telerik:GridTemplateColumn>
        <telerik:GridTemplateColumn DataField="Pass" DataType="System.Int32"
            HeaderText="Pass" SortExpression="Pass" UniqueName="Pass">
            <EditItemTemplate>
                <asp:TextBox ID="PassTextBox" runat="server" Text='<%# Bind("Pass") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:RadioButton ID="PassRadioButton" GroupName="PassFailNA" runat="server" Checked='<%# Eval("Pass") %>' Visible='<%# Eval("Evaluate") %>'/>
            </ItemTemplate>
            <FooterStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
                Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center"
                Wrap="True" />
            <HeaderStyle Width="50px" Font-Bold="False" Font-Italic="False"
                Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
                HorizontalAlign="Center" Wrap="True" />
            <ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
                Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center"
                Wrap="True" />
        </telerik:GridTemplateColumn>
        <telerik:GridTemplateColumn DataField="Fail" DataType="System.Int32"
            HeaderText="Fail" SortExpression="Fail" UniqueName="Fail">
            <EditItemTemplate>
                <asp:TextBox ID="FailTextBox" runat="server" Text='<%# Bind("Fail") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:RadioButton ID="FailRadioButton" GroupName="PassFailNA" runat="server" Checked='<%# Eval("Fail") %>' Visible='<%# Eval("Evaluate") %>'/>
            </ItemTemplate>
            <FooterStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
                Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center"
                Wrap="True" />
            <HeaderStyle Width="50px" Font-Bold="False" Font-Italic="False"
                Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
                HorizontalAlign="Center" Wrap="True" />
            <ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
                Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center"
                Wrap="True" />
        </telerik:GridTemplateColumn>
        <telerik:GridTemplateColumn DataField="NA" DataType="System.Int32"
            HeaderText="NA" SortExpression="NA" UniqueName="NA">
            <EditItemTemplate>
                <asp:TextBox ID="NATextBox" runat="server" Text='<%# Bind("NA") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:RadioButton ID="NARadioButton" GroupName="PassFailNA" runat="server" Checked='<%# Eval("NA") %>' Visible='<%# Eval("Evaluate") %>'/>
            </ItemTemplate>
            <FooterStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
                Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center"
                Wrap="True" />
            <HeaderStyle Width="50px" Font-Bold="False" Font-Italic="False"
                Font-Overline="False" Font-Strikeout="False" Font-Underline="False"
                HorizontalAlign="Center" Wrap="True" />
            <ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
                Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Center"
                Wrap="True" />
        </telerik:GridTemplateColumn>
        <telerik:GridTemplateColumn DataField="Notes" HeaderText="Notes"
            SortExpression="Notes" UniqueName="Notes">
            <EditItemTemplate>
                <asp:TextBox ID="NotesTextBox" runat="server" Text='<%# Bind("Notes") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:TextBox ID="NotesTextBox" runat="server" TextMode="Multiline"  Rows="2" Columns="30" Text='<%# Bind("Notes") %>' Visible='<%# Eval("Evaluate") %>'></asp:TextBox>
            </ItemTemplate>
        </telerik:GridTemplateColumn>
    </Columns>
</MasterTableView>
    </telerik:RadGrid>

4 Answers, 1 is accepted

Sort by
0
Shinu
Top achievements
Rank 2
answered on 06 Dec 2011, 05:24 AM
Hello Ryan,

Try the following code snippet.
C#:
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
 CheckBox chk = (CheckBox)sender;
 GridDataItem item = (GridDataItem)chk.NamingContainer;
 RadioButton btn = (RadioButton)item.FindControl("FailRadioButton");
 btn.Enabled = false;
}

-Shinu.
0
Ryan
Top achievements
Rank 1
answered on 06 Dec 2011, 02:06 PM
It does not work.  I changed it a bit to use this function.

It selects the row but and goes through the if statement, how ever the radio button does not get selected.

Protected Sub ToggleRowSelection(ByVal sender As Object, ByVal e As EventArgs)
 
    CType(CType(sender, CheckBox).NamingContainer, GridItem).Selected = CType(sender, CheckBox).Checked
 
    If CType(sender, CheckBox).Checked = True Then
        Dim chk As CheckBox = DirectCast(sender, CheckBox)
        Dim item As GridDataItem = DirectCast(chk.NamingContainer, GridDataItem)
        Dim btn As RadioButton = DirectCast(item.FindControl("FailRadioButton"), RadioButton)
        btn.Checked = True
    End If
 
End Sub
0
Ryan
Top achievements
Rank 1
answered on 06 Dec 2011, 04:12 PM
I added a msg box and it displays btn.checked=True and the btn.text changes to show "Test".  But for some reason the radio button will not get checked.

Protected Sub ToggleRowSelection(ByVal sender As Object, ByVal e As EventArgs)
 
    'CType(CType(sender, CheckBox).NamingContainer, GridItem).Selected = CType(sender, CheckBox).Checked
 
    If CType(sender, CheckBox).Checked = True Then
        Dim chk As CheckBox = DirectCast(sender, CheckBox)
        Dim item As GridDataItem = DirectCast(chk.NamingContainer, GridDataItem)
        Dim btn As RadioButton = DirectCast(item.FindControl("FailRadioButton"), RadioButton)
        btn.Checked = True
        btn.Text = "Test"
        MsgBox(btn.Checked)
    End If
 
End Sub
0
Ryan
Top achievements
Rank 1
answered on 06 Dec 2011, 04:48 PM
I had to set the other radio buttons to false.
Thanks for your help.

Protected Sub ToggleRowSelection(ByVal sender As Object, ByVal e As EventArgs)
 
    'CType(CType(sender, CheckBox).NamingContainer, GridItem).Selected = CType(sender, CheckBox).Checked
 
    If CType(sender, CheckBox).Checked = True Then
        Dim chk As CheckBox = DirectCast(sender, CheckBox)
        Dim item As GridDataItem = DirectCast(chk.NamingContainer, GridDataItem)
        Dim btnFail As RadioButton = DirectCast(item.FindControl("FailRadioButton"), RadioButton)
        Dim btnNA As RadioButton = DirectCast(item.FindControl("NARadioButton"), RadioButton)
        Dim btnPass As RadioButton = DirectCast(item.FindControl("PassRadioButton"), RadioButton)
 
        btnNA.Checked = False
        btnPass.Checked = False
        btnFail.Checked = True
    End If
 
End Sub
Tags
Grid
Asked by
Ryan
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Ryan
Top achievements
Rank 1
Share this question
or