[FIXED] [V0.7] RowExpander in ViewPort Bug

  1. #1

    [FIXED] [V0.7] RowExpander in ViewPort Bug

    Hello,

    From the previous bug introduced http://forums.ext.net/showthread.php...=2894-5-1.aspx the following example will demonstrate a similar issue:

    Example.aspx:
    <%@ 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">
        protected override void OnInit(EventArgs e)
        {
            Control control = Page.LoadControl("Example-Control.ascx");
    
            UserControl.Controls.Add(control);
            
            base.OnInit(e);
        }
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title>Example</title>
    </head>
    <body>
        <form id="form1" runat="server">
            <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="True" />
            <ext:ScriptManager ID="ScriptManager2" runat="server" StateProvider="PostBack" />
            <ext:ViewPort ID="ViewPort1" runat="server">
                <Content>
                    <ext:BorderLayout ID="BorderLayout1" runat="server">
                        <North>
                            <ext:Panel ID="Panel1" runat="server" Height="100">
                                <Content>
                                    North
                                </Content>
                            </ext:Panel>
                        </North>
                        <Center>
                            <ext:Panel ID="Panel2" runat="server">
                                <Content>
                                    <ext:FitLayout ID="FitLayout1" runat="server">
                                        <ext:TabPanel ID="TabPanel1" runat="server" AutoPostBack="True">
                                            <Tabs>
                                                <ext:Tab ID="Tab1" runat="server" Title="Tab 1">
                                                    <Content>
                                                        Tab 1
                                                    </Content>
                                                </ext:Tab>
                                                <ext:Tab ID="Tab2" runat="server" Title="Tab 2">
                                                    <Content>
                                                        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                                                            <ContentTemplate>
                                                                <asp:PlaceHolder ID="UserControl" runat="server" />
                                                            </ContentTemplate>
                                                        </asp:UpdatePanel>
                                                    </Content>
                                                </ext:Tab>
                                            </Tabs>
                                        </ext:TabPanel>
                                    </ext:FitLayout>
                                </Content>
                            </ext:Panel>
                        </Center>
                    </ext:BorderLayout>
                </Content>
            </ext:ViewPort>
        </form>
    </body>
    </html>
    Example-Control.ashx:
    <%@ Control Language="C#" ClassName="Example_Control" %>
    <%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
    <script runat="server">
        protected void Page_Load(object sender, EventArgs e)
        {
            Permissions.DataSource = new object[] {
                new object[] { 1, "Permission", "Permission 1" },
                new object[] { 2, "Permission", "Permission 2" },
                new object[] { 3, "Permission", "Permission 3" },
                new object[] { 4, "Permission", "Permission 4" },
                new object[] { 5, "Permission", "Permission 5" },
                new object[] { 6, "Permission", "Permission 6" }
            };
            Permissions.DataBind();
        }
    </script>
    <ext:Store ID="Permissions"
        runat="server"
        AutoLoad="True"
        GroupField="GroupingName">
        <Reader>
            <ext:ArrayReader ReaderID="PermissionId">
                <Fields>
                    <ext:RecordField Name="PermissionId" />
                    <ext:RecordField Name="GroupingName" />
                    <ext:RecordField Name="DisplayName" />
                </Fields>
            </ext:ArrayReader>
        </Reader>
        <SortInfo Field="DisplayName" />
    </ext:Store>
    <ext:TabPanel ID="TabPanel1" runat="server" AutoPostBack="True" DeferredRender="True">
        <Tabs>
            <ext:Tab ID="Tab1" runat="server" Title="Tab 1" AutoHeight="True">
                <Content>
                    Tab 1
                </Content>
            </ext:Tab>
            <ext:Tab ID="Tab2" runat="server" Title="Tab 2" AutoHeight="True">
                <Content>
                    <ext:FitLayout ID="FitLayout1" runat="server">
                        <ext:GridPanel ID="GridPanel"
                            runat="server"
                            StoreID="Permissions"
                            AutoExpandColumn="DisplayName"
                            Height="400"
                            StripeRows="True"
                            Width="300">
                            <ColumnModel>
                                <Columns>
                                    <ext:Column ColumnID="DisplayName" DataIndex="DisplayName" Header="Permission" />
                                </Columns>
                            </ColumnModel>
                            <SelectionModel>
                                <ext:CheckboxSelectionModel ID="PermissionSelection" runat="server" />
                            </SelectionModel>
                            <Plugins>
                                <ext:RowExpander ID="RowExpander" runat="server">
                                    <Template runat="server">
                                        {GroupingName}
                                    </Template>
                                </ext:RowExpander>
                            </Plugins>
                        </ext:GridPanel>
                    </ext:FitLayout>
                </Content>
            </ext:Tab>
        </Tabs>
    </ext:TabPanel>
    Replication steps:

    1. Load page
    2. Click 'Tab 2'
    3. Click 2nd level 'Tab 2'
    4. Note error

    Cheers,
    Timothy
  2. #2

    RE: [FIXED] [V0.7] RowExpander in ViewPort Bug

    Hi Timothy,

    We added a fix which should solve this defect. If using the latest svn code, your sample now works without modification.


    Geoffrey McGill
    Founder

Similar Threads

  1. [CLOSED] ViewPort and fixed body width
    By marco.morreale in forum 2.x Legacy Premium Help
    Replies: 5
    Last Post: Aug 07, 2012, 1:42 PM
  2. [CLOSED] Set fixed size on viewport
    By Jurke in forum 1.x Legacy Premium Help
    Replies: 7
    Last Post: Jul 07, 2009, 8:24 AM
  3. Replies: 2
    Last Post: Jul 02, 2009, 4:16 PM
  4. [FIXED] [V0.7] RowExpander Exception
    By Timothy in forum Bugs
    Replies: 2
    Last Post: Nov 05, 2008, 9:48 AM
  5. [FIXED] [V0.7.0] RowExpander Bug
    By Timothy in forum Bugs
    Replies: 2
    Last Post: Oct 13, 2008, 2:25 PM

Posting Permissions