2010-08-18 34 views
0

所以這裏是情況。我在我的一個extjs頁面上有一個按鈕。這個按鈕會彈出一個子窗口。此子窗口具有.method屬性,.ref屬性和.id。我需要使用SAME模板打開另一個窗口的功能,每次單擊該按鈕。打開多個子窗口並跟蹤它們全部

我在想childwindow。方法屬性設置爲類似「getWindow」和.REF成類似「newWindow」,然後創建在後臺的JavaScript函數看起來是這樣的:

var myArray = []; 
var count = 0; 
function getWindow() { 
    newWindow.Id = count; 
    getWindow().show(); 
    myArray[count] = count; 
    count++; 
} 

這項工作?

編輯:

Using ViewDetailsWin As New Pages.ChildWindow 
     With ViewDetailsWin 
      .Id = "Test" 
      .IconCls = Model.WorkflowStepDefinition.SmallIcon 
      .Ref = "viewDetailsWin" 
      .RenderTo = "workspacePanel.getEl()" 
      .DestroyerRef = "mainPanel" 
      .MethodName = "getViewDetailsWin" 
      .Title = "View Details/Amortization Schedule" 
      .Layout = Pages.Panel.LayoutType.Fit 
      .Closable = True 
      .CloseAction = Pages.Window.CloseActionType.Hide 
      .Minimizable = True 
      .Modal = False 
      .Height = 700 
      .Width = 1000 
      .BodyStyle = "padding:10px" 

有更多的東西....

回答

0

我走了一條不同的路線。我在同一個MVC文件夾中創建了另一個名爲「Details.aspx」的視圖。然後用Javascript,我只是每次打開該視圖作爲彈出窗口。

1

你說的相同的模板是什麼意思?點擊該按鈕時是否需要一個完全相同的窗口?然後創建一個Ext.Window組件,並在每次單擊該按鈕時創建一個新實例。

例如:

MyWindow = Ext.extend(Ext.Window, { 
    width: 300, 
    height: 300, 
    title : 'my window', 
    ref: 'whatever', 
    method: function(){}, 
    initComponent: function() { 
     MyWindow.superclass.initComponent.call(this); 
    } 
}); 

function createWindow(){ 
    var win = new MyWindow(); 
    win.show(); 
} 

在點擊按鈕調用這個CreateWindow函數。現在要跟蹤所有的Windows,看看ExtJS的WindowGroup或WindowMgr組件。

+0

這是評論的第二部分,我不知道如何完成。我們的子窗口類是一個ExtWindow組件。但是,如何在每次單擊按鈕並顯示它時創建新實例。 – Scott 2010-08-18 13:18:04

+0

現在打開窗口的按鈕控件看起來像這樣。'AddButton(「View Details/Amortization Schedule」,「function(){getViewDetailsWin()。show();}」,「icon-button-edit」,「查看詳情「,」可以打開多個窗口...「),禁用= Model.IsUserReadOnly'。這隻會打開一個窗口,當我再次點擊它時,它什麼也不做。 – Scott 2010-08-18 13:22:22

+0

我已經給出了一個代碼示例。試試看。 – Swar 2010-08-18 13:24:56