我想从代码隐藏中添加一个新的Window
Listeners
和DirectEvents
来实现Button-Click上的管理界面。到目前为止,我有以下代码(最小化):
Window editwindow = new Window(){
ID="Window_Edit",
width = 380,
height = 120,
hidden = false
};
FormPanel editpanel = new FormPanel(){
ID="Panel_Edit"
};
editpanel.Items.Add(new TextField(){
ID="Edit_Fieldname",
FieldLabel = "Some Label",
LabelStyle="text-align:right;",
Width = 260,
LabelWidth=120
});
editwindow.Add(editpanel);
this.Page.Controls.Add(editwindow);
//Viewport.Add(editwindow); Viewport is a wrapping <ext:Container>
//editwindow.DoLayout(); this has been throwing a reference error on client-side
我想知道如何让窗口显示出来。现在,如果我使用firebug检查执行,则在Post Request上返回状态代码200: OK
。但是在此之前我做了一些Store操作,并且响应不包含这些Store Changes!
现在有趣的是,更改触发Button的Text无故障,所以我确信不会执行完全重载。
答案 0 :(得分:1)
我对我的回答做了一些假设,因为你没有发布一个展示整个场景的样本,但我认为修改以下内容应该有效:
// Old
// editwindow.Add(editpanel);
// this.Page.Controls.Add(editwindow);
// New
editwindow.Items.Add(editpanel);
editwindow.Render(this.Form);
以下示例还演示了在DirectEvent期间动态创建Window并添加的方案,请参阅
http://examples.ext.net/#/XRender/Basic/New_Window/
希望这有帮助。