[CLOSED] NumberField Paste

  1. #1

    [CLOSED] NumberField Paste

    Is there any way to disable copy and paste text within the control? (Currently it is possible to paste alphanumeric characters in a numberfield, and clicking a button with a DirectEvent is triggered a FormatException in Ext.Net.NumberFieldBase.CheckRange(String value))
    Last edited by Daniil; Sep 20, 2010 at 4:25 PM. Reason: [CLOSED] No more information was provided.
  2. #2
    Hi!

    Here is not an answer on your question, Just a suggestion.
    You can prevent this behavior by returning false from the Before handler of DirectEvent.

    Example
    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <script runat="server">
        protected void Submit(object sender, DirectEventArgs e)
        {
            X.Msg.Alert("Submit", this.NumberField1.Value.ToString()).Show();
        }
    </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:NumberField ID="NumberField1" runat="server"/>
        <ext:Button runat="server" Text="Submit">
            <DirectEvents>
                <Click OnEvent="Submit" Before="return #{NumberField1}.isValid()"/>
            </DirectEvents>
        </ext:Button>
        </form>
    </body>
    </html>
    What about disabling copy/paste.
    As I can know it may be impossible or, at least, not so trivial.
    Also the decision can depend on a kind of browser. What browser do you use?
  3. #3
    A solution can look something like this.

    Example
    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    <!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:NumberField runat="server">
            <Listeners>
                <AfterRender Handler="this.el.dom.setAttribute('onPaste', 'return false');" />
            </Listeners>
        </ext:NumberField>
        </form>
    </body>
    </html>
    It might be not сross-browser compatible. So, requires testing.
    Last edited by Daniil; Mar 13, 2013 at 4:31 PM.
  4. #4

    It Work Only in Markup

    Hello Dani, Thank you for reply.

    Your code works when written direct into the markup

    <ext:Button runat="server" Text="teste">
                                                            <DirectEvents>
                                                                <Click Before="return #{txtGeralNumero}.isValid();" OnEvent="btn_Click" />
                                                            </DirectEvents>
                                                        </ext:Button>
    But i have a control inherited from ext:ToolBar, so i try to set the before property in C#:
    _btnSalvar.DirectEvents.Click.Event += new ComponentDirectEvent.DirectEventHandler(btnSalvar_Click);
    _btnSalvar.DirectEvents.Click.Before = "return #{txtGeralNumero}.isValid();";
    _btnSalvar.DirectEvents.Click.EventMask.ShowMask = true;
    But it doesn´t work. Any Idea?
    Last edited by Daniil; Sep 17, 2010 at 3:40 PM. Reason: Please use [code] tags
  5. #5
    On server side we should use .ClienID instead of #{} syntax.

    Please look at the example. The commented markup can be implemented in code behind this way.

    Example
    <%@ Page Language="C#" %>
     
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
     
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            NumberField nf = new NumberField();
            nf.AddTo(this.Form);
    
            Ext.Net.Button button = new Ext.Net.Button();
            button.Text = "Submit";
            button.DirectEvents.Click.Event += Submit;
            button.DirectEvents.Click.Before = "return " + nf.ClientID + ".isValid()";
    
            button.AddTo(this.Form);
        }
        
        protected void Submit(object sender, DirectEventArgs e)
        {
            X.Msg.Alert("Submit", "Hello!").Show();
        }
    </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:NumberField ID="NumberField1" runat="server"/>--%>
        <%--<ext:Button runat="server" Text="Submit">
            <DirectEvents>
                <Click OnEvent="Submit" Before="return #{NumberField1}.isValid()"/>
            </DirectEvents>
        </ext:Button>--%>
        </form>
    </body>
    </html>
  6. #6
    Quote Originally Posted by pdcase View Post
    But it doesn´t work. Any Idea?
    In future posts, please provide more information if something is not working. Your response doesn't really help and leaves us trying to guess what's meant by "doesn't work".

    Do you get an Exception? or JavaScript error?

    What happens if you view the page in Firefox with Firebug enabled? any exception, warnings, errors?

    Please provide more information.

    Or, provide a simplified .aspx code sample demonstrating how you have things configured and if there is an error/exception, demonstrating how we can reproduce locally.
    Geoffrey McGill
    Founder

Similar Threads

  1. [CLOSED] Paste listener for a TextField?
    By vadym.f in forum 1.x Legacy Premium Help
    Replies: 2
    Last Post: Mar 16, 2012, 1:31 PM
  2. [CLOSED] NumberField paste event
    By majestic in forum 1.x Legacy Premium Help
    Replies: 3
    Last Post: Nov 12, 2010, 7:52 AM
  3. copy paste from ms word
    By [WP]joju in forum 1.x Help
    Replies: 0
    Last Post: Aug 20, 2010, 7:30 AM
  4. [CLOSED] Copy / Paste Like with GridPanel but not using Clipboard
    By ljcorreia in forum 1.x Legacy Premium Help
    Replies: 3
    Last Post: Nov 12, 2009, 8:12 AM
  5. Paste from Excel into Grid?
    By rthiney in forum 1.x Help
    Replies: 3
    Last Post: Sep 14, 2009, 7:11 PM

Tags for this Thread

Posting Permissions