updating texts on the fly

  1. #1

    updating texts on the fly

    I update all the texts on the page dynamically, when the user changes language and most of them work.

    However, I noticed that some texts do not update until I reload the page:

            TextField.FieldLabel 
            PagingToolBar.DisplayMsg
            PagingToolBar.FirstText
            PagingToolBar.PrevText
            PagingToolBar.NextText 
            PagingToolBar.LastText
            PagingToolBar.RefreshText
    the script returning from the ajax event contains code to set them but it is not applied.
    Everything else in my page is updated right now including: column model titles, panel and gridpanel titles, menu entries, button texts
  2. #2

    RE: updating texts on the fly

    Hi,

    Unfortunately PagingToolBar have no functionality to update internal items after render. It is need to write some js code which updates items. The same sitiuation with field label

    Please see the following samples which shows how perform it with javascript
    <%@ Page Language="C#" %>
    
    <%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
        private object[] TestData
        {
            get
            {
                DateTime now = DateTime.Now;
                return new object[]
                {
                    new object[] {"3m Co", 71.72, 0.02, 0.03, now},
                    new object[] {"Alcoa Inc", 29.01, 0.42, 1.47, now},
                    new object[] {"Altria Group Inc", 83.81, 0.28, 0.34, now},
                    new object[] {"American Express Company", 52.55, 0.01, 0.02, now},
                    new object[] {"American International Group, Inc.", 64.13, 0.31, 0.49, now},
                    new object[] {"AT&amp;T Inc.", 31.61, -0.48, -1.54, now},
                    new object[] {"Boeing Co.", 75.43, 0.53, 0.71, now},
                    new object[] {"Caterpillar Inc.", 67.27, 0.92, 1.39, now},
                    new object[] {"Citigroup, Inc.", 49.37, 0.02, 0.04, now},
                    new object[] {"E.I. du Pont de Nemours and Company", 40.48, 0.51, 1.28, now},
                    new object[] {"Exxon Mobil Corp", 68.1, -0.43, -0.64, now},
                    new object[] {"General Electric Company", 34.14, -0.08, -0.23, now},
                    new object[] {"General Motors Corporation", 30.27, 1.09, 3.74, now},
                    new object[] {"Hewlett-Packard Co.", 36.53, -0.03, -0.08, now},
                    new object[] {"Honeywell Intl Inc", 38.77, 0.05, 0.13, now},
                    new object[] {"Intel Corporation", 19.88, 0.31, 1.58, now},
                    new object[] {"International Business Machines", 81.41, 0.44, 0.54, now},
                    new object[] {"Johnson &amp; Johnson", 64.72, 0.06, 0.09, now},
                    new object[] {"JP Morgan &amp; Chase &amp; Co", 45.73, 0.07, 0.15, now},
                    new object[] {"McDonald\"s Corporation", 36.76, 0.86, 2.40, now},
                    new object[] {"Merck &amp; Co., Inc.", 40.96, 0.41, 1.01, now},
                    new object[] {"Microsoft Corporation", 25.84, 0.14, 0.54, now},
                    new object[] {"Pfizer Inc", 27.96, 0.4, 1.45, now},
                    new object[] {"The Coca-Cola Company", 45.07, 0.26, 0.58, now},
                    new object[] {"The Home Depot, Inc.", 34.64, 0.35, 1.02, now},
                    new object[] {"The Procter &amp; Gamble Company", 61.91, 0.01, 0.02, now},
                    new object[] {"United Technologies Corporation", 63.26, 0.55, 0.88, now},
                    new object[] {"Verizon Communications", 35.57, 0.39, 1.11, now},
                    new object[] {"Wal-Mart Stores, Inc.", 45.45, 0.73, 1.63, now}
                };
            }
        }
        
        protected void Page_Load(object sender, EventArgs e)
        {
            if(!Ext.IsAjaxRequest)
            {
                this.Store1.DataSource = this.TestData;
                this.Store1.DataBind(); 
            }
        }
    
        protected void MyData_Refresh(object sender, StoreRefreshDataEventArgs e)
        {
            this.Store1.DataSource = this.TestData;
            this.Store1.DataBind(); 
        }
    
        protected void ChangeText(object sender, AjaxEventArgs e)
        {
            this.PagingToolBar1.FirstText = "FirstText updated";
            this.PagingToolBar1.PrevText = "PrevText updated";
            this.PagingToolBar1.BeforePageText = "BeforePageText updated";
            this.PagingToolBar1.AfterPageText = "AfterPageText of {0}";
            this.PagingToolBar1.NextText = "NextText updated";
            this.PagingToolBar1.LastText = "LastText updated";
            this.PagingToolBar1.RefreshText = "RefreshText updated";
            this.PagingToolBar1.DisplayMsg = "DisplayingText {0} - {1} of {2}";
            this.PagingToolBar1.AddScript("updateText({0});", this.PagingToolBar1.ClientID);
    
    
            this.TextField1.AddScript("{0}.label.update({1});", this.TextField1.ClientID, JSON.Serialize("New Label:"));
            
        }
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title></title>
        
        <script type="text/javascript">
            function updateText(pager){
                pager.items.each(function(item, index) {
                    switch (index) {
                        case 0:
                            item.setTooltip(pager.firstText);
                            break;
                        case 1:
                            item.setTooltip(pager.prevText);
                            break;
                        case 3:
                            item.setText(pager.beforePageText);
                            break;
                        case 5:
                            item.el.innerHTML = String.format(pager.afterPageText, pager.getPageData().pages);
                            break;
                        case 7:
                            item.setTooltip(pager.nextText);
                            break;
                        case 8:
                            item.setTooltip(pager.lastText);
                            break;
                        case 10:
                            item.setTooltip(pager.refreshText);
                            return false;
    
                    }
                });
                pager.updateInfo();
            }
    
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
            <ext:ScriptManager ID="ScriptManager1" runat="server" StateProvider="None" />
            
            <ext:Panel ID="Panel1" runat="server" Title="Panel" Height="200" Width="300">
                <Body>
                    <ext:FormLayout runat="server">
                        <ext:Anchor>
                            <ext:TextField ID="TextField1" runat="server" FieldLabel="Label"></ext:TextField>
                        </ext:Anchor>
                    </ext:FormLayout>
                </Body>
            </ext:Panel>
    
            <ext:Store ID="Store1" runat="server" OnRefreshData="MyData_Refresh">
                <Reader>
                    <ext:ArrayReader>
                        <Fields>
                            <ext:RecordField Name="company" />
                            <ext:RecordField Name="price" Type="Float" />
                            <ext:RecordField Name="change" Type="Float" />
                            <ext:RecordField Name="pctChange" Type="Float" />
                            <ext:RecordField Name="lastChange" Type="Date" DateFormat="Y-m-dTh:i:s" />
                        </Fields>
                    </ext:ArrayReader>
                </Reader>
            </ext:Store>
            
            <ext:GridPanel 
                ID="GridPanel1" 
                runat="server" 
                StoreID="Store1" 
                StripeRows="true"
                Title="Array Grid" 
                Width="600" 
                Height="290"
                AutoExpandColumn="Company">
                <ColumnModel ID="ColumnModel1" runat="server">
                    <Columns>
                        <ext:Column ColumnID="Company" Header="Company" Width="160" Sortable="true" DataIndex="company" />
                        <ext:Column Header="Price" Width="75" Sortable="true" DataIndex="price"/>
                        <ext:Column Header="Change" Width="75" Sortable="true" DataIndex="change"/>
                        <ext:Column Header="Change" Width="75" Sortable="true" DataIndex="pctChange"/>
                        <ext:Column Header="Last Updated" Width="85" Sortable="true" DataIndex="lastChange"/>
                    </Columns>
                </ColumnModel>
                <SelectionModel>
                    <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" />
                </SelectionModel>
                <LoadMask ShowMask="true" />
                <BottomBar>
                    <ext:PagingToolBar ID="PagingToolBar1" runat="server" PageSize="10" StoreID="Store1" />
                </BottomBar>
            </ext:GridPanel>
            
            <ext:Button runat="server" Text="Change Text">
                <AjaxEvents>
                    <Click OnEvent="ChangeText"></Click>
                </AjaxEvents>
            </ext:Button>
        </form>
    </body>
    </html>

Similar Threads

  1. updating to ExtNet 1.0 from 0.8.2
    By unaltro2 in forum 1.x Help
    Replies: 6
    Last Post: Jun 03, 2011, 5:14 PM
  2. updating of pages
    By Daimon in forum 1.x Help
    Replies: 0
    Last Post: Nov 20, 2010, 6:06 PM
  3. [CLOSED] Change texts in contextmenu
    By frytas in forum 1.x Help
    Replies: 3
    Last Post: Aug 23, 2010, 12:06 PM
  4. Updating Fieldset
    By designworxz in forum 1.x Help
    Replies: 4
    Last Post: Jan 07, 2010, 5:37 PM
  5. FieldSet problem movement texts
    By Vinturi in forum 1.x Help
    Replies: 0
    Last Post: Feb 09, 2009, 12:57 PM

Posting Permissions