Panel Default Button

  1. #1

    Panel Default Button

    Is there anything like DefaultButton for panels similar to asp panel?

    Thank you
  2. #2

    RE: Panel Default Button

    Any help pls?

    Thank you
  3. #3

    RE: Panel Default Button

    Hi Speddi,

    I think you shoud use the KeyMap object of that panel.

    Regards,

  4. #4

    RE: Panel Default Button

    Here's a sample I'm working on demonstrating the use a <ext:KeyMap> to handle the [enter] key in the Panel body.

    Example

    <%@ Page Language="C#" %>
    
    <%@ Import Namespace="System.Collections.Generic" %>
    <%@ Import Namespace="Button=Ext.Net.Button" %>
    <%@ Import Namespace="Ext.Net.Utilities" %>
    
    <%@ Register assembly="Ext.Net" namespace="Ext.Net" tagprefix="ext" %>
    
    <script runat="server">
        protected override void OnInit(EventArgs e)
        {
            List<Button> buttons = ControlUtils.FindControls<Button>(this);
    
            buttons.Each(btn => btn.DirectClick += delegate
            {
                X.Msg.Notify(btn.ID, this.TextField1.Text).Show();
            });
            
            base.OnInit(e);
        }
    </script>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Ext.NET Example</title>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" />
            
            <ext:Panel 
                ID="Panel1" 
                runat="server" 
                Title="Example" 
                Height="185" 
                Width="350" 
                Padding="5"
                Layout="form"
                DefaultAnchor="100%">
                <Items>
                    <ext:TextField ID="TextField1" runat="server" FieldLabel="Message" />
                    <ext:Button ID="Button4" runat="server" IsFormField="true" Text="Submit 4" />
                </Items>
                <Buttons>
                    <ext:Button ID="Button1" runat="server" Text="Submit 1" />
                    <ext:Button ID="Button2" runat="server" Text="Submit 2" />
                    <ext:Button ID="Button3" runat="server" Text="Submit 3" />
                </Buttons>
            </ext:Panel>
            
            <ext:KeyMap runat="server" Target="={Panel1.getBody()}">
                <ext:KeyBinding>
                    <Keys>
                        <ext:Key Code="ENTER" />
                    </Keys>
                    <Listeners>
                        <Event Handler="e.stopEvent();#{Button2}.fireEvent('click');" />
                    </Listeners>
                </ext:KeyBinding>    
            </ext:KeyMap>
        </form>
    </body>
    </html>
    Geoffrey McGill
    Founder
  5. #5

    RE: Panel Default Button

    Thank you,
    Is this specific to version 1.0?


  6. #6

    RE: Panel Default Button

    I tried it on formpanel and it didnt work. Any tips pls? Thank you
  7. #7

    RE: Panel Default Button

    
    <asp:Content ID="mainContent" ContentPlaceHolderID="mainContentHolder" runat="server">
        <ext:FormPanel 
                ID="PnlLogin" 
                runat="server" 
                Title="Login"
                Padding="5" 
                Width="300" 
                Height="150"
                ButtonAlign="Right"
                Layout="Form" Icon="Lock" >
                <Items>
                    <ext:Panel runat="server" Border="false" Header="false" ColumnWidth=".5" Layout="Form" LabelAlign="Left">
                        <Defaults>
                            <ext:Parameter Name="AllowBlank" Value="false" Mode="Raw" />
                            <ext:Parameter Name="MsgTarget" Value="side" />
                        </Defaults>
                        <Items>
                            <ext:TextField ID="TxtUsername" runat="server" FieldLabel="User Name" AnchorHorizontal="92%" BlankText="Username is required" />
                        </Items>
                    </ext:Panel>
                    <ext:Panel runat="server" Border="false" Layout="Form" ColumnWidth=".5" LabelAlign="Left">
                        <Defaults>
                            <ext:Parameter Name="AllowBlank" Value="false" Mode="Raw" />
                            <ext:Parameter Name="MsgTarget" Value="side" />
                        </Defaults>
                        <Items>
                            <ext:TextField ID="TxtPassword" runat="server" InputType="Password" FieldLabel="Password" AnchorHorizontal="92%" BlankText="Password is required"  />
                        </Items>
                    </ext:Panel>
                </Items>
                <Buttons>
                    <ext:Button ID="BtnLogin" runat="server" Text="Login" Icon="Accept">
                        <DirectEvents>
                            <Click OnEvent="BtnLogin_Click" Before="var valid= #{PnlLogin}.getForm().isValid(); if(valid){#{FormStatusBar}.showBusy('Authenticating ...');} return valid;">
                                <EventMask ShowMask="false" Target="CustomTarget" CustomTarget="={#{PnlLogin}.getEl()}" />
                            </Click>
                        </DirectEvents>
                    </ext:Button>
                </Buttons>
                <BottomBar>
                    <ext:StatusBar ID="FormStatusBar" runat="server">
                        <Plugins>
                            <ext:ValidationStatus ID="ValidationStatus2" runat="server" FormPanelID="PnlLogin" ValidIcon="Accept" ErrorIcon="Exclamation" />
                        </Plugins>
                    </ext:StatusBar>
                </BottomBar>
            </ext:FormPanel>
            <ext:KeyMap ID="KeyMap1" runat="server" Target="={PnlLogin.getBody()}">
                <ext:KeyBinding>
                    <Keys>
                        <ext:Key Code="ENTER" />
                    </Keys>
                    <Listeners>
                        <Event Handler="e.stopEvent();#{BtnLogin}.fireEvent('click');" />
                    </Listeners>
                </ext:KeyBinding>    
            </ext:KeyMap>
    </asp:Content>
    I am using the code above and it doesnt give me the defaultbutton behaviour. Can someone tell me what I am missing here? Thank you
  8. #8

    RE: Panel Default Button

    Hi,

    Try the following
    Target="={#{PnlLogin}.getBody()}"
  9. #9

    RE: Panel Default Button

    Thank you, that works. Appreciate your help.

Similar Threads

  1. [CLOSED] Configure the ConfirmĀ“s default button
    By RCN in forum 2.x Legacy Premium Help
    Replies: 2
    Last Post: Jun 19, 2012, 1:51 PM
  2. Still unable to make login button as default button
    By santhu12smart in forum 1.x Help
    Replies: 3
    Last Post: Oct 05, 2011, 8:13 AM
  3. Replies: 2
    Last Post: Jun 25, 2010, 5:17 AM
  4. confirmation window default button
    By [WP]joju in forum 1.x Help
    Replies: 0
    Last Post: Aug 13, 2009, 5:02 AM
  5. [CLOSED] Default button
    By jchau in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Dec 08, 2008, 5:51 PM

Posting Permissions