PDA

View Full Version : [FIXED] [V0.7] RowExpander in ViewPort Bug



Timothy
Oct 13, 2008, 3:29 PM
Hello,

From the previous bug introduced http://forums.ext.net/showthread.php?threadid=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

geoffrey.mcgill
Oct 13, 2008, 7:16 PM
Hi Timothy,

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