2010-08-18 35 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