Hello,
with our upgrade from 0.82 to 1.0 I run into trouble, because I am doing steps in a card layout by DirectMethods(AjaxMethods).
In the running project firebug prints out:
missing ; before statement [Break on this error] ItemsWizardPanel.getLayout().setActive...ActiveItem(1);}WizardPanel.doLayout();
While the code looks like this at the moment (I´ve commented out unecessary lines to trap the bug)
[DirectMethod] public void SetUser(int userId) { WizardPanel.ActiveIndex = 1; //_selectedUser = new Ps_Personal_T(userId); //Session[SessionFields.EPOSSelectedUser] = _selectedUser;
//string userName = _selectedUser.Vorname + " " + _selectedUser.Nachname;
//if (_selectedUser.Fl_Kostenstelle_TToKostenstelle_Id != null && !String.IsNullOrEmpty(_selectedUser.Fl_Kostenstelle_TToKostenstelle_Id.Kostenstelle_Code)) //{ // userName += " (" + _selectedUser.Fl_Kostenstelle_TToKostenstelle_Id.Kostenstelle_Code + ")"; // TextFieldCostCenter.Text = _selectedUser.Fl_Kostenstelle_TToKostenstelle_Id.Kostenstelle_Code; //} //else //{ // TextFieldCostCenter.Clear(); //}
//PanelStep2.Title = "Electronic Point of Sale - Manueller Warenkorb: " + userName; //WizardPanel.ActiveIndex = 1; //StoreBasket.RemoveAll(); //TextFieldBarcodeEANSearch.Clear(); //ButtonOrder.Disabled = true; //LabelTotalCost.Text = "EUR 0"; //WizardPanel.DoLayout(); //TextFieldBarcodeEANSearch.Focus(); //CheckButtons(); }
Then I tried to copy a minimal example, but I was not to reproduce the bug, because the DirectMethod is never called in the mininmal example (another bug?).
Here is the example:
<%@ Page Language="C#" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server"> protected void Next_Click(object sender, DirectEventArgs e) { int index = int.Parse(e.ExtraParams["index"]);
if ((index + 1) < this.WizardPanel.Items.Count) { this.WizardPanel.ActiveIndex = index + 1; }
this.CheckButtons(); }
protected void Prev_Click(object sender, DirectEventArgs e) { int index = int.Parse(e.ExtraParams["index"]);
if ((index - 1) >= 0) { this.WizardPanel.ActiveIndex = index - 1; }
this.CheckButtons(); }
private void CheckButtons() { int index = this.WizardPanel.ActiveIndex;
// this.btnNext.Disabled = index == (this.WizardPanel.Items.Count - 1); this.btnPrev.Disabled = index == 0; }
protected void Page_Load(object sender, EventArgs e) { if (!X.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(); }
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&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 & Johnson", 64.72, 0.06, 0.09, now }, new object[] { "JP Morgan & Chase & Co", 45.73, 0.07, 0.15, now }, new object[] { "McDonald\"s Corporation", 36.76, 0.86, 2.40, now }, new object[] { "Merck & 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 & 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 } }; } }
[DirectMethod] public void NextPanel() { this.WizardPanel.ActiveIndex = 1; this.WizardPanel.DoLayout(); } </script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>CardLayout - Ext.NET Examples</title> <link href="../../../../resources/css/examples.css" rel="stylesheet" type="text/css" /> </head> <body> <form id="Form1" runat="server"> <ext:ResourceManager ID="ResourceManager1" runat="server" /> <ext:Panel ID="WizardPanel" runat="server" Title="Example Wizard" Padding="15" Height="300" Layout="card" ActiveIndex="0"> <Items> <ext:GridPanel ID="GridPanel1" runat="server" StripeRows="true" Title="Array Grid" Width="600" Height="290" AutoExpandColumn="Company"> <Store> <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="yyyy-MM-ddTHH:mm:ss" /> </Fields> </ext:ArrayReader> </Reader> </ext:Store> </Store> <ColumnModel ID="ColumnModel1" runat="server"> <Columns> <ext:Column ColumnID="Company" Header="Company" Width="160" DataIndex="company" /> <ext:Column Header="Price" Width="75" DataIndex="price"> </ext:Column> <ext:Column Header="Change" Width="75" DataIndex="change"> </ext:Column> <ext:Column Header="Change" Width="75" DataIndex="pctChange"> </ext:Column> <ext:DateColumn Header="Last Updated" Width="85" DataIndex="lastChange" /> </Columns> </ColumnModel> <SelectionModel> <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" /> </SelectionModel> <Listeners> <CellClick Handler="#{DirectMethods}.SetUser();" /> </Listeners> <LoadMask ShowMask="true" /> <BottomBar> <ext:PagingToolbar ID="PagingToolbar1" runat="server" PageSize="10" /> </BottomBar> </ext:GridPanel> <ext:Panel ID="Panel2" runat="server" Html="<h1>Card 2</h1><p>Step 2 of 2</p>" Border="false" Header="false" /> </Items> <Buttons> <ext:Button ID="btnPrev" runat="server" Text="Prev" Disabled="true" Icon="PreviousGreen"> <DirectEvents> <Click OnEvent="Prev_Click"> <ExtraParams> <ext:Parameter Name="index" Value="#{WizardPanel}.items.indexOf(#{WizardPanel}.layout.activeItem)" Mode="Raw" /> </ExtraParams> </Click> </DirectEvents> </ext:Button> <ext:Button ID="ButtonOrder" runat="server" Text="[Buchen]" Icon="User"> <Listeners> <Click Handler="#{DirectMethods}.NextPanel();" /> </Listeners> </ext:Button> </Buttons> </ext:Panel> </form> </body> </html>
Regards,
Martin
|