[CLOSED] [#223] Tracking changes of Fielset Content

  1. #1

    [CLOSED] [#223] Tracking changes of Fielset Content

    Hi all

    I have a Page with several Textfiels grouped in Fielsets. I need to indicate the presence of text in these Textfields by setting a Icon on the Fieldset.
    The brute way is to set a Handler on each Textfield, but more elegant would be the tracking of a Fieldset event triggered by the Fieldset content.

    Is there a way to do that ?

    Peter
    Last edited by Baidaly; May 31, 2013 at 2:26 AM. Reason: Added issue number
  2. #2
    Hi Peter,

    Welcome to the Ext.NET forums!

    A FieldSet doesn't listen its items' events.

    Well, the best is to listen TextFields' event. You can attach listeners on a FieldSet level.

    Example
    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <!DOCTYPE html>
    <html>
    <head runat="server">
        <title>Ext.NET v2 Example</title>
    
        <script>
            var onBeforeRender = function (fieldSet) {
                var items = fieldSet.items.getRange(),
                    i;
    
                for (i = 0; i < items.length; i++) {
                    items[i].on("change", onTextFieldChange, fieldSet);
                }
            };
    
            var onTextFieldChange = function (textField) {
                var fieldSet = this;
    
                console.log("change");
            };
        </script>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" />        
           
            <ext:FieldSet runat="server">
                <Items>
                    <ext:TextField runat="server" />
                    <ext:TextField runat="server" />
                </Items>
                <Listeners>
                    <BeforeRender Fn="onBeforeRender" />
                </Listeners>
            </ext:FieldSet>
    
            <ext:FieldSet runat="server">
                <Items>
                    <ext:TextField runat="server" />
                    <ext:TextField runat="server" />
                </Items>
                <Listeners>
                    <BeforeRender Fn="onBeforeRender" />
                </Listeners>
            </ext:FieldSet>
        </form>
    </body>
    </html>
    Another approach could be using a FormPanel and its FieldValidityChange event.

    Example
    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
    
    <!DOCTYPE html>
    <html>
    <head runat="server">
        <title>Ext.NET v2 Example</title>
    
        <script>
            var onFieldValidityChange = function (formPanel, textField) {
                var fieldSet = textField.up("fieldset");
    
                console.log("FieldValidityChange");
            };
        </script>
    </head>
    <body>
        <form runat="server">
            <ext:ResourceManager runat="server" />     
            
            <ext:FormPanel runat="server">
                <Items>
                    <ext:FieldSet runat="server">
                        <Items>
                            <ext:TextField runat="server" AllowBlank="false" />
                            <ext:TextField runat="server" AllowBlank="false" />
                        </Items>
                    </ext:FieldSet>
    
                    <ext:FieldSet runat="server">
                        <Items>
                            <ext:TextField runat="server" AllowBlank="false" />
                            <ext:TextField runat="server" AllowBlank="false" />
                        </Items>
                    </ext:FieldSet>
                </Items>
                <Listeners>
                    <FieldValidityChange Fn="onFieldValidityChange" />
                </Listeners>
            </ext:FormPanel>   
        </form>
    </body>
    </html>
  3. #3
    We added the FieldValidityChange event, but it doesn't fire due to an ExtJS bug.
    http://www.sencha.com/forum/showthread.php?262559

    Created an Issue to monitor it.
    https://github.com/extnet/Ext.NET/issues/223
  4. #4
    Hello!

    The issue appears to be fixed in the SVN trunk. Please update.

Similar Threads

  1. [CLOSED] UserControlLoader and Content
    By thchuong in forum 2.x Legacy Premium Help
    Replies: 1
    Last Post: Aug 11, 2012, 8:03 AM
  2. Replies: 3
    Last Post: Feb 10, 2012, 12:50 PM
  3. How to use ASP.NET content inside EXT.NET content
    By Janaka360 in forum 1.x Help
    Replies: 2
    Last Post: May 09, 2011, 4:21 AM
  4. Replies: 0
    Last Post: Oct 19, 2010, 7:39 AM
  5. [CLOSED] Stop tracking store changes
    By danielg in forum 1.x Legacy Premium Help
    Replies: 5
    Last Post: Mar 12, 2009, 1:49 PM

Posting Permissions