-
动态改变panel 中items内容10
例如:var panel1=new Ext.panel({
id:'123',
html'123'
});
var panel3=new Ext.panel({
id:'789',
html'789'
});
var tab=new Ext.TabPanel({
activeTab:0,
region:'center',
items: [
{
title: 'test',
border:false,
layout:'border',
items:[panel3]
},
{
title: 'test',
border:false,
layout:'border',
items:[panel1]
}
]
};
var panel2=new Ext.panel({
id:'456',
html'456'
});
怎么让动态改变第二个tab页显示panel2? 至于网上说得 先remove 在add 最后调用doLayout(true)只是把panel1移除了,panel2没有显示出来。 就大侠们指点。
问题补充:myali88 写道引用怎么让动态改变第二个tab页显示panel2?
这是什么意思?Ext.TabPanel默认不就是可以在多个组件之间切换吗?你是指直接替换tab内的组件吗?
是的 直接替换tab内的组件
问题补充:renpeng301 写道tab页签用了border布局
border布局必须提供
region:'center', 把panel2加上这个试试····
var panel2=new Ext.panel({ id:'456', region:'center', html'456' });
发这个问题的时候漏掉了,我这个随手写的一个问题。 项目里面是有的。
问题补充:非常感谢您的回答 差不多就是你的意思。 我在稍微表述清楚一点 麻烦您指点一下
var panel1=new Ext.Panel({
id:'panel1',
title: '树状',
border:false,
layout:'border',
items:[data1]
});
var panel2=new Ext.Panel({
id:'panel2',
title: '待审核',
border:false,
layout:'border',
items:[data2]
});
var panel3=new Ext.Panel({
id:'panel3',
title: '自定义',
border:false,
layout:'border',
items:[data3]
});
var tab = new Ext.TabPanel({
activeTab:0,
region:'center',
items: [
panel1,
panel2,
panel3
]
});
panel2.on('activate' , function(panel) {
这里面想改变data2 然后在panel2显示修改后的data2。
});
panel3.on('activate' , function(panel) {
这里面想改变data3 然后在panel3显示修改后的data3。
});
myali88 写道Ext.onReady(function() { var panel1 = new Ext.Panel({ title : 'Tab 1' , id : '123', html : '123' }); var panel2 = new Ext.Panel({ title : 'Tab 2' , id : '456', html : '456' }); var panel3 = new Ext.Panel({ title : 'Tab 3' , id : '789', html : '789' }); var test = new Ext.Panel({ title: 'test2', border:false, items:[panel1] }); var tab = new Ext.TabPanel({ renderTo : 'tab' , activeTab : 0, items : [ { title: 'test1', border:false, items:[panel3] }, test ] }); test.on('activate' , function(panel) { this.removeAll(); this.add(panel2); this.doLayout(true); }); });
是不是这么个意思?
问题补充:myali88 写道panel2.on('activate' , function(panel) { //这里面想改变data2 然后在panel2显示修改后的data2。 this.removeAll(); this.add(newdata2);//newdata2,依据修改需要新建的data2 this.doLayout(); }); panel3.on('activate' , function(panel) { // 这里面想改变data3 然后在panel3显示修改后的data3。 this.removeAll(); this.add(newdata3);//newdata3,依据修改需要新建的data3 this.doLayout(); });
这样就可以了。panel2,和panel3只有一个item,直接删除然后再添加一个,这样就算修改了data2了。
panel没有removeAll()方法,我用remove(data3);this.add(newdata3);或者this.items.add(newdata3); this.doLayout(); panel3里面出现空白 说明data3移除成功 newdata3添加没有显示出来 不知道原因在哪?
问题补充:myali88 写道引用
panel没有removeAll()方法,我用remove(data3);this.add(newdata3);或者this.items.add(newdata3); this.doLayout(); panel3里面出现空白 说明data3移除成功 newdata3添加没有显示出来 不知道原因在哪?
removeAll方法是有的,你可以在API文档中找到。删除后显示不出来,我估计是因为你这里使用了border布局,这种布局要求center部分组件一定要有,如果你删除了就不行(我试过了,如果把panel2换成默认布局就可以)。这里我建议你试试其他布局方式。
已经解决了 谢谢你的帮助 removeAll在我的2.02版本中是没有的 2.2的API里面也找不到。2011年8月09日 19:54
8个答案 按时间排序 按投票排序
-
采纳的答案
引用
panel没有removeAll()方法,我用remove(data3);this.add(newdata3);或者this.items.add(newdata3); this.doLayout(); panel3里面出现空白 说明data3移除成功 newdata3添加没有显示出来 不知道原因在哪?
removeAll方法是有的,你可以在API文档中找到。删除后显示不出来,我估计是因为你这里使用了border布局,这种布局要求center部分组件一定要有,如果你删除了就不行(我试过了,如果把panel2换成默认布局就可以)。这里我建议你试试其他布局方式。2011年8月10日 11:14
-
panel有removeAll方法,我试了可以的、 removeAll( Boolean autoDestroy ) : Array 从此容器中移除某个组件。Removes all components ... 从此容器中移除某个组件。Removes all components from this container. 参数项: autoDestroy : Boolean (可选的) True表示为自动执行组件Ext.Componentdestroy 的函数。(optional) True to automatically invoke the removed Component's Ext.Componentdestroy function. Defaults to the value of this Container's autoDestroy config. 返回值: Array 被销毁的组件数组。Array of the destroyed components
2011年8月10日 10:50
-
panel2.on('activate' , function(panel) { //这里面想改变data2 然后在panel2显示修改后的data2。 if(!this.get(newdate2)) { this.removeAll(); this.add(newdata2); this.doLayout(); } }); panel3.on('activate' , function(panel) { //这里面想改变data3 然后在panel3显示修改后的data3。 if(!this.get(newdate3)) { this.removeAll(); this.add(newdata3); this.doLayout(); } });
2011年8月10日 10:32
-
panel2.on('activate' , function(panel) { //这里面想改变data2 然后在panel2显示修改后的data2。 this.removeAll(); this.add(newdata2);//newdata2,依据修改需要新建的data2 this.doLayout(); }); panel3.on('activate' , function(panel) { // 这里面想改变data3 然后在panel3显示修改后的data3。 this.removeAll(); this.add(newdata3);//newdata3,依据修改需要新建的data3 this.doLayout(); });
这样就可以了。panel2,和panel3只有一个item,直接删除然后再添加一个,这样就算修改了data2了。2011年8月10日 10:17
-
Ext.onReady(function() { var panel1 = new Ext.Panel({ title : 'Tab 1' , id : '123', html : '123' }); var panel2 = new Ext.Panel({ title : 'Tab 2' , id : '456', html : '456' }); var panel3 = new Ext.Panel({ title : 'Tab 3' , id : '789', html : '789' }); var test = new Ext.Panel({ title: 'test2', border:false, items:[panel1] }); var tab = new Ext.TabPanel({ renderTo : 'tab' , activeTab : 0, items : [ { title: 'test1', border:false, items:[panel3] }, test ] }); test.on('activate' , function(panel) { this.removeAll(); this.add(panel2); this.doLayout(true); }); });
是不是这么个意思?2011年8月09日 21:31
-
引用怎么让动态改变第二个tab页显示panel2?
这是什么意思?Ext.TabPanel默认不就是可以在多个组件之间切换吗?你是指直接替换tab内的组件吗?2011年8月09日 21:02
-
tab页签用了border布局
border布局必须提供
region:'center', 把panel2加上这个试试····
var panel2=new Ext.panel({ id:'456', region:'center', html'456' });
2011年8月09日 20:28
相关推荐
2. **`ListBox` 配置**:在 XAML 文件中,将 `ListBox` 的 `ItemsPanel` 设置为 `DynamicGridLayout` 实例。 3. **数据绑定**:将数据源绑定到 `ListBox`,并可能通过属性指定布局模式。 4. **事件处理**:监听窗口...
以下是一些关于如何在Silverlight 4中使用Accordion组件动态生成内容的关键知识点: 1. **组件引入**:首先,你需要在项目中引用System.Windows.Controls.Toolkit库,这个库包含了Accordion组件。通过添加引用,你...
4. 修改代码,尝试添加新的按钮或改变现有组件的属性,观察界面的变化,加深对EXT JS组件的理解。 EXT JS的Panel、Toolbar和Button是构建复杂用户界面的基础元素,掌握它们的使用方法对于开发EXT JS应用至关重要。...
5. **C语言编程**:理解C语言的基本语法、数据类型、控制结构、指针和内存管理是理解和修改"panel_public.c"的关键。 6. **错误处理**:在调用函数时,必须考虑错误条件,如参数错误、资源不足等,确保程序的健壮性...
在C#编程中,动态加载是一项关键特性,它允许程序在运行时根据需要加载和使用资源,如控件、类库或数据。本教程将详细讲解如何动态加载pictureBox控件到listView控件中,这对于创建灵活且可扩展的用户界面(UI)尤其...
在"动态添加表单"这个主题中,我们将深入探讨如何在ExtJS中实现表单的动态创建和管理。 首先,我们要理解表单(Form)在ExtJS中的基本概念。表单是数据输入和验证的核心组件,可以包含各种字段类型,如文本框、下拉...
7. **动态变更列信息**:通过修改HeaderTemplate、ItemTemplate和FooterTemplate的内容,可以在运行时改变列的信息。 8. **选择项目的获取**:在ItemCommand事件中处理用户的选择,注意在Repeater中事件触发可能需要...
描述中提到的“支持颜色修改”,在WPF中,我们不仅可以通过`Foreground`属性改变文本颜色,还可以通过`Brush`对象动态改变背景色,创建更丰富的视觉效果。 滚动方向的控制是走马灯特效的另一重要特性。这通常通过`...
EXTJS动态树是一种基于JavaScript的UI组件,用于在网页中构建可交互的树形结构数据展示。EXTJS是一个强大的前端框架,提供了丰富的组件库,包括表格、表单、树、图表等多种元素,使得开发者能够创建出功能丰富且用户...
综上所述,通过类绑定数据,我们可以高效地在Windows Phone应用中创建动态的Canvas,展示Image和TextBlock,并实现上下翻页功能。这种方式不仅简化了代码,提高了可维护性,还使UI与数据模型之间保持了良好的解耦。...
在ASP.NET程序设计中,服务器控件是构建动态Web应用程序的关键元素。本次实验旨在深入理解和熟练掌握ASP.NET服务器控件的使用,包括用户控件的创建、属性、事件和方法的定义与应用,以及常见控件的功能实现。 ...
6. **动态添加和修改Items**:可以使用`add`方法向容器如Panel中动态添加组件。例如,`a.add(item1); a.add(item2);`。 7. **提示系统**:为了实现动态提示,需要调用`Ext.tip.QuickTipManager.init();`初始化快速...
在本例中,我们将重点介绍如何在TabPanel中的GridPanel(表格面板)中根据不同条件动态改变行的背景颜色。 #### 三、实现步骤 ##### 1. 在样式文件中添加样式 首先,我们需要定义CSS样式规则来指定不同数值对应的...
首先,了解`WPF`中的`Panel`类。`Panel`是所有布局容器的基类,负责计算和布置其子元素的位置。`StackPanel`继承自`Panel`,默认按照指定的`Orientation`(水平或垂直)方向顺序排列子元素。 **自定义Panel过程:**...
4. **动态加载内容**:窗口可以动态加载远程数据,通过Ajax请求或者Store与服务器进行通信。这在创建动态、数据驱动的窗口时非常有用。 5. **模态窗口**:如果希望弹出框在显示时阻止用户对其他元素的交互,可以...
然后,在XAML中定义一个ItemsControl,并设置其ItemsPanel属性为VirtualizingWrapPanel。例如: ```xml <ItemsControl.ItemsPanel> </ItemsControl.ItemsPanel> ``` 在这里,MyItems是数据源,...
例如,可以使用Panel控件配合Button控件,通过按钮的Click事件改变Panel的Dock属性来实现展开和折叠的效果。 四、Winform菜单的添加基础 1. 创建MenuStrip控件:在设计界面中,从工具箱拖动MenuStrip控件到窗体上。...
本教程将深入探讨如何在WPF中利用Canvas控件结合数据绑定,以Checkbox的形式动态展示数据。 首先,我们需要理解WPF中的Canvas。Canvas是一个布局容器,允许开发者通过设置子元素的Left、Top、Right和Bottom属性来...
使用xtype配置时,子组件不会立即实例化,而是在需要时由容器动态创建,如TabPanel中的选项卡页面,仅在用户切换到对应页面时才进行渲染,这样可以优化性能。 组件还支持显示和隐藏操作,EXTJS提供了show和hide方法...
2. **添加选项卡项**:通过`addItem`方法向`ItemsPanel`对象中添加新的选项卡项。该方法接收四个参数,分别是选项卡ID、标题、对应的URL以及是否作为首页(不可关闭)。 ```javascript itemsPanel.addItem(...