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

Open Panel in Edit Form Template

2 Answers 81 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Jon
Top achievements
Rank 1
Jon asked on 11 Jun 2014, 07:53 PM
Hi Guys,

In my edit form template, I need to open a panel that holds a RadEditor on the conditional selection from a RadComboBox that is also in the edit form template.
So for example, if the user selects'add extra details' a panel will open with an editor.

Cheers in advance,

Jon

 

2 Answers, 1 is accepted

Sort by
0
Accepted
Shinu
Top achievements
Rank 2
answered on 12 Jun 2014, 06:50 AM
Hi Jack,

Please take a look at the sample code snippet to achieve your requirement.

ASPX:
<EditFormSettings EditFormType="Template">
    <FormTemplate>
        <telerik:RadComboBox ID="rcbSelect" runat="server" EmptyMessage="Select" AutoPostBack="true" OnSelectedIndexChanged="rcbSelect_SelectedIndexChanged">
            <Items>
                <telerik:RadComboBoxItem Text="1" Value="1" />
                <telerik:RadComboBoxItem Text="2" Value="2" />
            </Items>
        </telerik:RadComboBox>
        <asp:Panel ID="pnlEditor" runat="server" Visible="false">
            <telerik:RadEditor ID="rEditor" runat="server">
            </telerik:RadEditor>
        </asp:Panel>
    </FormTemplate>
</EditFormSettings>

C#:
protected void rcbSelect_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
  RadComboBox rcbselect = (RadComboBox)sender;
  GridEditableItem editItem = (GridEditableItem)rcbselect.NamingContainer;
  //Access the panel in EditForm
  Panel pnlEditor = (Panel)editItem.FindControl("pnlEditor");
  if (rcbselect.SelectedValue == "1")
  {
    pnlEditor.Visible = true;
  }
  else
  {
    pnlEditor.Visible = false;
  }
}

Thanks,
Shinu
0
Jon
Top achievements
Rank 1
answered on 13 Jun 2014, 08:33 AM
Many thanks Shinu,

I've been here before on this one but got stuck on insert.
You code does indeed work and for anyone else reading - this worked for me:-

I tried using Visible='<%#Bind("reqQon") %>' for the panel, which works as expected in edit mode. But in Insert Mode - it could not bind the default value.

In another thread you were helping in, I found this from J.Hoventer

Visible='<%# GetDefaultBool(Eval("reqQon")) %>'
 
Protected Function GetDefaultBool(ByVal input As Object) As Boolean
        If input Is Nothing OrElse input.ToString() = "" OrElse input.ToString().ToLower() = "false" Then
            Return False
        Else
            Return True
        End If
    End Function

All good now!

Cheers,
Jon 
Tags
Grid
Asked by
Jon
Top achievements
Rank 1
Answers by
Shinu
Top achievements
Rank 2
Jon
Top achievements
Rank 1
Share this question
or