How to set Mask property of RadMaskedTextBox( in EditItemTemplate) dynamically on Selected index changed event of RadComboBox in Radgrid

184 views Asked by At

How to set the Mask property of RadMaskedTexbox, which is in EditItemTemplate in one column of Radgrid, on SelectedIndexChanged Event of RadCombobox, in EditItemTemplate of another column, in Radgrid, which is in Batch Edit Mode?

Note: RadGrid is in BatchEdit Cell Mode.

Not able to find the RadMaskedTextbox control, on selected index changed event of Combobox.

<telerik:RadComboBox ID="rdcbxCountry" SelectedValue='<%# Eval("Country") %>' runat="server" RenderMode="Auto" AutoPostBack="True" EnableLoadOnDemand="true" OnItemsRequested="rdcbxCountry_ItemsRequested" OnSelectedIndexChanged="rdcbxCountry_SelectedIndexChanged"></telerik:RadComboBox>
                            </EditItemTemplate>
                        </telerik:GridTemplateColumn>

                        <telerik:GridTemplateColumn HeaderText="Office Phone" SortExpression="Office_Phone" UniqueName="Office_Phone" HeaderStyle-Width="120px">
                            <ItemTemplate>
                                <asp:Label ID="lblOfficePhone" runat="server" Text=' <%# Eval("Office_Phone") %>' Width="110px">
                                </asp:Label>
                            </ItemTemplate>
                            <EditItemTemplate>
                                 <telerik:RadMaskedTextBox RenderMode="Lightweight" runat="server" Text='<%# Eval("Office_Phone") %>' Mask="(###) ###-####" Width="`enter code here`110px"
                                    ID="txtOfficePhone">
                                </telerik:RadMaskedTextBox>
                            </EditItemTemplate>

                        </telerik:GridTemplateColumn>
1

There are 1 answers

0
AE. On

Looks like this was posted a while back...

I was able to capture the grid_ItemDataBound event, and call a 'change' method in there. Like you, I also have a 'click-event' to the control I wanted to capture. Something like:

Private Sub grd_ItemDataBound(sender As Object, e As Telerik.Web.UI.GridItemEventArgs) Handles grd.ItemDataBound

If e.Item.OwnerTableView.Name = "Grid" Then
  rdcbxCountry_SelectedIndexChanged(e.Item.FindControl("rdcbxCountry"), New System.EventArgs)
EndIf

End Sub

Protected Sub rdcbxCountry_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)

   Dim rdcbxCountry As RadComboBox= CType(sender, RadComboBox)
   Dim txtOfficePhone= CType(rdcbxCountry.Parent.FindControl("txtOfficePhone"), RadMaskedTextBox)

   If rdcbxCountry.SelectedValue = "US" then
      txtOfficePhone.Mask = "(###) ###-####"
   Else
      ...
   End If

End if

Good luck!