[CLOSED] How to disable/enable all controls in formpanel

  1. #1

    [CLOSED] How to disable/enable all controls in formpanel



    I am calling AjaxMethod which loops trough the controls in a formlayout and then sets disabled to true/false. but it is not working. is it possible to disable/enable controls through AjaxMethod.

    Thanks for your help.
    idriss

    
    
    
    <ext:Panel ID="Panel5" runat="server" Header="true" Collapsible="true" Border="true"
    
    
    Frame="true" Title="Air Transportation" BodyStyle="padding:1px 2px 2px 2px;">
    
    
    <Body>
    
    
    <ext:FormLayout ID="FormLayout3" runat="server" LabelAlign="Top">
    
    
    <ext:Anchor Horizontal="50%">
    
    
    <ext:Hidden runat="server" ID="TravelID">
    
    
    </ext:Hidden>
    
    
    </ext:Anchor>
    
    
    <ext:Anchor Horizontal="50%">
    
    
    <ext:Hidden runat="server" ID="UserId">
    
    
    </ext:Hidden>
    
    
    </ext:Anchor>
    
    
    <ext:Anchor Horizontal="50%">
    
    
    <ext:ComboBox ID="FlightArrangement" runat="server" Editable="False" EmptyText="Select Air Transportation"
    
    
    FireSelectOnLoad="True" Mode="Local" TypeAhead="False" Width="255" ForceSelection="true"
    
    
    FieldLabel="" HideLabel="true" SelectOnFocus="true" TriggerAction="All" InvalidClass="error"
    
    
    MsgTarget="Side" AllowBlank="false">
    
    
    <Items>
    
    
    <ext:ListItem Text="I will make my own arrangements" Value="2" />
    
    
    <ext:ListItem Text="SDRMA to arrange" Value="1" />
    
    
    <ext:ListItem Text="No arrangements required" Value="0" />
    
    
    </Items>
    
    
    <SelectedItem Text="No arrangements required" Value="0" />
    
    
    </ext:ComboBox>
    
    
    </ext:Anchor>
    
    
    <ext:Anchor Horizontal="92%">
    
    
    <ext:MultiField ID="MultiField3" runat="server" FieldLabel="I can accept a flight anytime after">
    
    
    <Fields>
    
    
    <ext:DateField runat="server" ID="FlightAcceptDate" HideLabel="true" FieldLabel=""
    
    
    Width="100" AllowBlank="true" Format="MM/dd/yyyy" SelectOnFocus="true" MsgTarget="under"
    
    
    InvalidClass="error" BlankText="Start Date is invalid." InvalidText="{0} is not a valid date - it must be in the format M/d/yyyy or MM/dd/yyyy">
    
    
    </ext:DateField>
    
    
    <ext:TimeField ID="FlightAcceptDateTime" runat="server" Increment="30" Width="100"
    
    
    HideLabel="true" Format="HH:mm" />
    
    
    </Fields>
    
    
    </ext:MultiField>
    
    
    </ext:Anchor>
    
    
    <ext:Anchor Horizontal="92%">
    
    
    <ext:MultiField ID="MultiField5" runat="server" FieldLabel="Airline and Confirmation#">
    
    
    <Fields>
    
    
    <ext:TextField ID="FlightAirline" runat="server" FieldLabel="Flight Information"
    
    
    Cls="big-text" AllowBlank="true" InvalidClass="error" ItemCls="notrequired" >
    
    
    <ToolTips>
    
    
    <ext:ToolTip ID="ToolTip9" runat="server" Html="Airline Information" />
    
    
    </ToolTips>
    
    
    </ext:TextField>
    
    
    <ext:TextField ID="FlightConfirmation" runat="server" FieldLabel="Confirmation #"
    
    
    Cls="big-text" AllowBlank="true" InvalidClass="error" ItemCls="notrequired" >
    
    
    <ToolTips>
    
    
    <ext:ToolTip ID="ToolTip10" runat="server" Html="Confirmation Number" />
    
    
    </ToolTips>
    
    
    </ext:TextField>
    
    
    </Fields>
    
    
    </ext:MultiField>
    
    
    </ext:Anchor>
    
    
    <ext:Anchor Horizontal="92%">
    
    
    <ext:MultiField ID="MultiField4" runat="server" FieldLabel="Flight to Event">
    
    
    <Fields>
    
    
    <ext:DateField runat="server" ID="Flight1Date" FieldLabel="Flight" Width="100" AllowBlank="true"
    
    
    Format="MM/dd/yyyy" SelectOnFocus="true" MsgTarget="under" InvalidClass="error"
    
    
    BlankText="Start Date is invalid." InvalidText="{0} is not a valid date - it must be in the format M/d/yyyy or MM/dd/yyyy">
    
    
    <ToolTips>
    
    
    <ext:ToolTip ID="ToolTip2" runat="server" Html="Departure Date" />
    
    
    </ToolTips>
    
    
    </ext:DateField>
    
    
    <ext:TextField ID="Flight1Number" runat="server" FieldLabel="Flight Information"
    
    
    AllowBlank="true" InvalidClass="error" ItemCls="notrequired">
    
    
    <ToolTips>
    
    
    <ext:ToolTip ID="ToolTip1" runat="server" Html="Flight Number" />
    
    
    </ToolTips>
    
    
    </ext:TextField>
    
    
    <ext:Label runat="server" Text="Departs"></ext:Label>
    
    
    <ext:TextField ID="Flight1AirportDepart" runat="server" FieldLabel="Departs" AllowBlank="true"
    
    
    InvalidClass="error" ItemCls="notrequired">
    
    
    <ToolTips>
    
    
    <ext:ToolTip ID="ToolTip3" runat="server" Html="Airport Name/Code" />
    
    
    </ToolTips>
    
    
    </ext:TextField>
    
    
    <ext:TimeField ID="Flight1TimeDepart" runat="server" Increment="10" Width="100" HideLabel="true"
    
    
    Format="HH:mm" />
    
    
    <ext:Label ID="Label1" runat="server" Text="Arrives"></ext:Label>
    
    
    <ext:TextField ID="Flight1AirportArrive" runat="server" FieldLabel="Arrives" AllowBlank="true"
    
    
    InvalidClass="error" ItemCls="notrequired">
    
    
    <ToolTips>
    
    
    <ext:ToolTip ID="ToolTip4" runat="server" Html="Airport Name/Code" />
    
    
    </ToolTips>
    
    
    </ext:TextField>
    
    
    <ext:TimeField ID="Flight1TimeArrive" runat="server" Increment="10" Width="100" HideLabel="true"
    
    
    Format="HH:mm" />
    
    
    </Fields>
    
    
    </ext:MultiField>
    
    
    </ext:Anchor>
    
    
    <ext:Anchor Horizontal="92%" Vertical="100%">
    
    
    <ext:MultiField ID="MultiField6" runat="server" FieldLabel="Return Flight">
    
    
    <Fields>
    
    
    <ext:DateField runat="server" ID="Flight2Date" FieldLabel="Flight" Width="100" AllowBlank="true"
    
    
    Format="MM/dd/yyyy" SelectOnFocus="true" MsgTarget="under" InvalidClass="error"
    
    
    BlankText="Start Date is invalid." InvalidText="{0} is not a valid date - it must be in the format M/d/yyyy or MM/dd/yyyy">
    
    
    </ext:DateField>
    
    
    <ext:TextField ID="Flight2Number" runat="server" FieldLabel="Flight Information"
    
    
    AllowBlank="true" InvalidClass="error" ItemCls="notrequired" />
    
    
    <ext:Label ID="Label2" runat="server" Text="Departs"></ext:Label>
    
    
    <ext:TextField ID="Flight2AirportDepart" runat="server" FieldLabel="Departs" AllowBlank="true"
    
    
    InvalidClass="error" ItemCls="notrequired" />
    
    
    <ext:TimeField ID="Flight2TimeDepart" runat="server" Increment="10" Width="100" HideLabel="true"
    
    
    Format="HH:mm" />
    
    
    <ext:Label ID="Label3" runat="server" Text="Arrives"></ext:Label>
    
    
    <ext:TextField ID="Flight2AirportArrive" runat="server" FieldLabel="Arrives" AllowBlank="true"
    
    
    InvalidClass="error" ItemCls="notrequired" />
    
    
    <ext:TimeField ID="Flight2TimeArrive" runat="server" Increment="10" Width="100" HideLabel="true"
    
    
    Format="HH:mm" />
    
    
    </Fields>
    
    
    </ext:MultiField>
    
    
    </ext:Anchor>
    
    
    </ext:FormLayout>
    
    
    </Body>
    
    
    </ext:Panel>
    
    
    
    [AjaxMethod]
    
    
    public void LoadBoardMembers(string name, string userID)
    
    
    {
    
    
    
    switch (FlightArrangement.SelectedItem.Value)
    
    
    {
    
    
    case "0": //No arrangements required
    
    
    case "1": //SDRMA to arrange - View only for boardMembers
    
    
    if (isBoardMember)
    
    
    {
    
    
    SetFieldsEnabled(FormLayout3, true);
    
    
    FlightAirline.Enabled = false;
    
    
    }
    
    
    break;
    
    
    case "2": //I will make my own arrangements
    
    
    if (isBoardMember)
    
    
    {
    
    
    SetFieldsEnabled(FormLayout3, false);
    
    
    }
    
    
    break;
    
    
    default:
    
    
    break;
    
    
    }
    
    
    
    }
    
    
    
    
    public void SetFieldsEnabled(Coolite.Ext.Web.FormLayout layout, bool disabled)
    
    
    {
    
    
    foreach (var item in layout.Anchors)
    
    
    {
    
    
    if (item.Items.Count > 0)
    
    
    {
    
    
    // as Coolite.Ext.Web.TextFieldBase
    
    
    var field = item.Items[0];
    
    
    if (field != null)
    
    
    {
    
    
    if (field.GetType().ToString().Equals("Coolite.Ext.Web.TextFieldBase"))
    
    
    {
    
    
    ((Coolite.Ext.Web.TextFieldBase)field).Disabled = disabled;
    
    
    }
    
    
    else if (field.GetType().ToString().Equals("Coolite.Ext.Web.MultiField"))
    
    
    {
    
    
    foreach (Coolite.Ext.Web.Field ff in ((Coolite.Ext.Web.MultiField)field).Fields)
    
    
    {
    
    
    ff.Disabled = disabled;
    
    
    }
    
    
    }
    
    
    }
    
    
    }
    
    
    }
    
    
    }
  2. #2

    RE: [CLOSED] How to disable/enable all controls in formpanel

    Hi,

    Try the following code
    public void SetFieldsEnabled(Coolite.Ext.Web.FormLayout layout, bool disabled)
            {
                List<Field> fields = Coolite.Utilities.ControlUtils.FindControls<Field>(layout);
    
                foreach (Field field in fields)
                {
                    field.Disabled = disabled;
                }
            }
  3. #3

    RE: [CLOSED] How to disable/enable all controls in formpanel

    Thank you. works very nicely. please mark as solved
    idriss

Similar Threads

  1. Replies: 2
    Last Post: Apr 27, 2011, 8:08 AM
  2. Button Enable/Disable
    By Maia in forum 1.x Help
    Replies: 5
    Last Post: Jul 02, 2010, 8:03 PM
  3. [CLOSED] disable/enable gridcommand
    By idrissb in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Sep 03, 2009, 2:25 PM
  4. how to disable and enable combobox?
    By sadeque in forum 1.x Help
    Replies: 1
    Last Post: Jul 27, 2009, 5:00 AM
  5. Enable or disable the button
    By VietView in forum 1.x Help
    Replies: 4
    Last Post: Jan 09, 2009, 11:59 AM

Posting Permissions