[CLOSED] Extending TriggerField

  1. #1

    [CLOSED] Extending TriggerField

    Hi,
    I need to extend a TriggerField, but I'm having a problem. When the extended control is rendered it contains two trigger buttons.
    As the following example shows, only one button executes the 'TriggerClick' handler. Also the 'HideTrigger' property hides only one button when it's set to true.

    What can I do to show only one button in my extended control?

    Follows the example code:

    <%@ Page Language="C#" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
        public class MyTriggerField : Ext.Net.TriggerField
        {
            public override string XType { get { return "myTriggerField"; } }
            public override string InstanceOf { get { return "myTField"; } }
        }
    
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            Ext.Net.Button btn = new Ext.Net.Button() { Text = "Get value" };
            btn.Listeners.Click.Handler = "alert(#{myTrg}.getMyValue());";
    
            TriggerField tf = new TriggerField();
            tf.FieldLabel = "TriggerField";
            tf.Width = 200;
            //tf.HideTrigger = true;
    
            MyTriggerField mtf = new MyTriggerField();
            mtf.ID = "myTrg";
            mtf.FieldLabel = "My Control";
            mtf.Width = 200;
            //mtf.HideTrigger = true;
            mtf.Listeners.TriggerClick.Handler = "alert('trigger click');";
    
            panel.Items.Add(tf);
            panel.Items.Add(mtf);
            panel.Items.Add(btn);
        }
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>Untitled Page</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <ext:ResourceManager runat="server" />
        <ext:Panel ID="panel" runat="server" />
        </form>
        
    <script type="text/javascript">
    
    myTField = Ext.extend(Ext.form.TriggerField, {
        getMyValue: function()
        {
            return 'My value: ' + this.getValue();
        }
    });
    Ext.reg('myTriggerField', myTField);
    </script>
    </body>
    </html>
    Last edited by Daniil; Oct 14, 2010 at 7:04 PM. Reason: [CLOSED]
  2. #2
    Hi Pablo,

    There is the own TriggerField class in the Ext.Net - Ext.net.TriggerField.

    If you want to get the same TriggerFied which appears in the Ext.Net please use the following thing.

    Example
    myTField = Ext.extend(Ext.net.TriggerField, {...} )

Similar Threads

  1. [CLOSED] Extending GridPanel
    By jmcantrell in forum 1.x Legacy Premium Help
    Replies: 8
    Last Post: Mar 29, 2012, 1:33 PM
  2. [CLOSED] Need for a composite control extending Ext.NET
    By Aparna_B in forum 1.x Legacy Premium Help
    Replies: 4
    Last Post: Nov 10, 2011, 5:38 PM
  3. Extending DatePicker
    By onurbozkurt in forum 1.x Help
    Replies: 0
    Last Post: Apr 29, 2009, 8:45 AM
  4. Extending Ext Components and Coolite
    By jchau in forum Open Discussions
    Replies: 1
    Last Post: Aug 14, 2008, 11:35 AM

Tags for this Thread

Posting Permissions