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

radiobuttonlist in RadGrid

1 Answer 225 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Amit
Top achievements
Rank 1
Amit asked on 19 Mar 2012, 10:43 AM
Hi

I am using the Telerik Radgrid with radiobuttonlist as shown in following code
My problem is I am not able to find the radibutto list is checked or not at client sid when I validate the data (case:at least one radion button should be checked)

Please send me some clue.


<telerik:RadGrid ID="RadGrid1" runat="server" BackColor="#eeeeee" AutoGenerateColumns="false"
BorderWidth="0px" GridLines="None" Skin="" Width="450px" OnItemDataBound="RadGrid1_ItemDataBound">
 <%-- <ItemStyle CssClass="RowColor" />--%>
 <HeaderStyle Height="25px" />
 <MasterTableView Font-Names="Arial" Font-Size="8pt">
  <Columns>
<telerik:GridTemplateColumn HeaderText="Date" UniqueName="Date">
<ItemTemplate>
<asp:Label ID="lblODDate" runat="server" Text='<%# Eval("AttendanceDate", "{0:dd MMM yyyy}") %>'></asp:Label>
 </ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="80px" />
<ItemStyle HorizontalAlign="Center" Width="80px" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Day" UniqueName="Day">
<ItemTemplate>
<asp:Label ID="lblODDay" runat="server" Text='<%# Eval("AttendanceDate", "{0:dddd}") %>'></asp:Label>
 </ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="50px" />
<ItemStyle HorizontalAlign="Center" Width="50px" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Shift" UniqueName="Shift">
<ItemTemplate>
<asp:Label ID="lblShiftCode" runat="server" Text='<%# Bind("ShiftCode") %>'></asp:Label>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="50px" />
<ItemStyle HorizontalAlign="Center" Width="50px" />
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Hrs" UniqueName="Hrs">
 <ItemTemplate>
<table cellpadding="0" cellspacing="0" width="250px">
<tr>
 <td align="left">
  <asp:RadioButtonList ID="rbtnOdDay" runat="server" RepeatColumns="3" RepeatDirection="Horizontal"
CssClass="textStyle1" Width="200px" RepeatLayout="Table">
 <asp:ListItem Text="Full Day" Value="1"></asp:ListItem>
<asp:ListItem Text="Half Day" Value="0.5"></asp:ListItem>
<asp:ListItem Text="Hours" Value="0"></asp:ListItem>
 </asp:RadioButtonList>
</td>
 <td id="trHrs" align="left" style="display: none" runat="server">
 <telerik:RadTimePicker ID="radTimePicker" runat="server" Width="35px" EnableTheming="true"
SkinID="ESSTimePicker">
</telerik:RadTimePicker>
   <%-- <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="Please Select hrs."
Text="*" ControlToValidate="radTimePicker" ValidationGroup="mygroup" Display="Dynamic"></asp:RequiredFieldValidator>--%>
 </td>
   </tr>
</table>
 </ItemTemplate>
<HeaderStyle HorizontalAlign="Center" Width="250px" />
<ItemStyle HorizontalAlign="Center" Width="250px" />
 </telerik:GridTemplateColumn>
   </Columns>
<EditFormSettings>
 <EditColumn CancelImageUrl="Cancel.gif" EditImageUrl="Edit.gif" FilterImageUrl="Filter.gif"
  InsertImageUrl="Update.gif" SortAscImageUrl="SortAsc.gif" SortDescImageUrl="SortDesc.gif"
    UpdateImageUrl="Update.gif">
</EditColumn>
  </EditFormSettings>
 <PagerStyle FirstPageImageUrl="PagingFirst.gif" LastPageImageUrl="PagingLast.gif"
 NextPageImageUrl="PagingNext.gif" PrevPageImageUrl="PagingPrev.gif" />
</MasterTableView>
 <HeaderStyle Font-Bold="True" />
</telerik:RadGrid>

1 Answer, 1 is accepted

Sort by
0
Accepted
Princy
Top achievements
Rank 2
answered on 19 Mar 2012, 12:28 PM
Hello Amit,

Please try this following code snippet from client side to check whether the RadioButtonList is selected or not. I am trying this approach for ony one row.

Java Script:
<script type="text/javascript">
        function test() {
         var grid = $find("<%=RadGrid1.ClientID %>");
         var masterTable = grid.get_masterTableView();
         var row = masterTable.get_dataItems()[2]; //accessing second row
         var radio = rows.findElement('rbtnOdDay');
         var elements = radio.getElementsByTagName("input");
          var count = 0;
          for (var i = 0; i < elements.length; i++) {
                if (elements[i].checked == false) {
                    count++;
                }
            }
            if (count >= 3) {
                     alert("please select atleast one");
            }
    }
  </script>

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