`
生死格斗
  • 浏览: 127647 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ext Panel中根据条件动态切换Grid的方法

EXT 
阅读更多
1. 首先在父panel中放置两个panel
一个布局在north另一个布局在center
editTemplate: function(v){
var edltTemplatePanel = new Ext.Panel({
labelAlign: 'right',
//height: 20,
width: 650,
bodyStyle:'padding:5px',
resizable:false ,
autoScoll: true,  //grid显示出滚动条
border: false,
layout : "border",
items: [
ProgramScheduleTemplate.getEditFormPanel()
,ProgramScheduleTemplate.getEditGridPanel()//将virtualGrid与editGrid均放到这个panel中,便于type的切换
]
});


2. 将需要切换的grid放入center布局的panel中,根据条件选用不同的Grid。
//编辑的时候改变模板类型
getEditGridPanel: function(){
var record = smAll.getSelected();
var type = record.get('type');//根据是虚拟的还是直播的节目模板调用不同的grid
editGridPanel = new Ext.Panel({
region: 'center',
layout:'fit',
width: 600,
bodyStyle:'padding:5px',
resizable:false ,
border: false,
items:[type == 2? ProgramScheduleTemplate.getVirtualGrid():ProgramScheduleTemplate.geteditGrid()]
});
return editGridPanel;
},

3. 由combox的select事件触发change条件

listeners:{
select:{
fn: function(combo, record, index){
var status = Ext.Msg.show({
            title: "提示",
msg: "您要更改节目单模板,则建立在原模板上的节目将要丢失,确定要更改吗?",
buttons: Ext.Msg.YESNO,
icon: Ext.Msg.WARNING,
fn: function(btn){
if(btn == 'yes'){
recordid = -1; //type变换的时候  让 store请求空list
if(index === 1){//虚拟
editGridPanel.removeAll();
var grid = ProgramScheduleTemplate.getVirtualGrid();
grid.getStore().removeAll();
editGridPanel.add(grid);
editGridPanel.ownerCt.doLayout();
}else if(index === 0){//直播
editGridPanel.removeAll();
var grid = ProgramScheduleTemplate.geteditGrid();
grid.getStore().removeAll();
editGridPanel.add(grid);
editGridPanel.ownerCt.doLayout();
}
}else{

}

}
            });




这是和业务相关的,主要是下面这几句实现动态切换grid从而改变显示的列:
editGridPanel.removeAll();
var grid = ProgramScheduleTemplate.getVirtualGrid();
grid.getStore().removeAll();
editGridPanel.add(grid);
editGridPanel.ownerCt.doLayout();
分享到:
评论

相关推荐

    ExtJS grid过滤操作

    - **Filter Model**:ExtJS Grid中的过滤功能基于Filter Model。每个列都可以有自己的过滤器,用户可以根据需要定义过滤条件。 - **Filter Types**:多种内置过滤器类型,如文本、数字、日期等,满足不同数据类型...

    ext-ux-grid-gridviewmenuplugin

    在Ext JS中,`GridView`是`Ext.grid.Panel`的一个组成部分,负责渲染表格的行和列。而`GridViewMenuPlugin`则扩展了`GridView`的功能,将菜单与表格视图紧密结合,使得在表格上下文菜单中可以触发特定的操作或显示...

    Ext 3.0中文手册及帮助文档

    1. Grid Panel:Ext 3.0中的Grid Panel是一个强大的表格组件,支持数据分页、排序、过滤和编辑等功能。 2. Form Panel:用于创建复杂的表单,支持各种表单元素,如文本框、下拉框、复选框等,并有强大的验证机制。 3...

    Ext 3.0 - 中文API文档

    1. **组件系统**:Ext 3.0提供了一套完整的组件库,包括按钮(Button)、表格(Grid)、表单(Form)、面板(Panel)等,这些组件可以灵活组合,构建出复杂的用户界面。 2. **数据绑定**:通过数据绑定,开发者可以...

    Ext组件描述,各个组件含义

    **2.5 Editor Grid Panel (Ext.grid.EditorGridPanel)** - **xtype**: `editorgrid` - **功能描述**:Editor Grid Panel 是一个支持行级编辑的网格面板。 - **主要用途**:适合于需要对表格中的数据进行编辑的场景...

    Ext Js权威指南(.zip.001

    4.3.3 ext.function中的静态方法 / 120 4.3.4 ext.array中的静态方法 / 127 4.3.5 ext.error中的静态方法 / 133 4.4 深入了解类的创建及管理 / 135 4.4.1 开始创建类 / 135 4.4.2 创建类的类:ext.class / 137...

    EXT_JS实例,官方实例

    1. **EXT JS组件**:EXT JS提供了一系列组件,如按钮(Button)、面板(Panel)、表格(Grid)、树形视图(Tree)、窗口(Window)等。这些组件具有丰富的可定制性和可扩展性,可以满足不同类型的界面需求。 2. **...

    springMVC整合ext4js

    这包括创建面板(Panel)、工具栏(Toolbar)、网格(Grid)等,同时通过Ajax请求与Spring MVC的后端接口进行交互,获取或提交数据。 接着,我们讨论主界面导航代码实现。在Ext4JS中,可以使用“Viewport”布局全屏...

    asp.net ext 中文手册

    在EXT中,模板常用于根据数据动态生成列表项、表格行等内容。文档详细解释了如何创建和使用模板,以及如何利用模板的格式化功能美化输出结果。 #### 12. 事件处理 事件处理是Web应用中实现用户交互的基础。在ASP...

    Ext 2.0 中文api 天涯浪子

    在Ext 2.0中,API(Application Programming Interface)文档是至关重要的,因为它详细介绍了框架中的类、方法、属性和事件,帮助开发者快速掌握如何使用这些功能。这个API文档涵盖了以下几个关键知识点: 1. **...

    ext图书系统 18种皮肤

    EXT Grid和Panel等组件可以自动调整大小和排列方式,以适应各种屏幕尺寸。 6. 扩展性和模块化: EXT采用MVC(Model-View-Controller)架构模式,使得代码组织清晰,易于维护和扩展。EXT的应用通常由多个可复用的...

    Ext 3.3 - 中文API文档

    例如,创建一个简单的表格可能会涉及到`Ext.grid.Panel`的配置,包括列模型、数据源、视图配置等。同时,开发者还可以通过搜索特定API,快速定位到相应的中文解释和用法说明。 总之,EXT 3.3 中文API文档是EXTJS...

    新版EXT教程

    4. **数据绑定(Data Binding)**:EXT提供了一套完善的数据绑定机制,使得界面元素能自动反映数据模型的变化,这对于动态更新用户界面非常有用。 5. **主题定制(Theme Customization)**:通过自定义主题,开发者...

    Extjs grid分页1

    在ExtJS中,Grid的分页通常是通过`Ext.grid.Panel`的`pagingToolbar`配置实现的。`pagingToolbar`是一个包含导航按钮(如“上一页”、“下一页”)和当前页信息的工具栏,它与数据源(通常是`Ext.data.Store`)关联...

    Extjs4.2 根据不同的数值设置tabpanel行的背景颜色

    在本例中,我们将重点介绍如何在TabPanel中的GridPanel(表格面板)中根据不同条件动态改变行的背景颜色。 #### 三、实现步骤 ##### 1. 在样式文件中添加样式 首先,我们需要定义CSS样式规则来指定不同数值对应的...

    ext分页查询ext分页查询ext分页查询ext分页查询ext分页查询

    4. **Ajax请求**:在示例代码中,使用`Ext.Ajax.request`或者`FormPanel`的`submit`方法发送异步请求到服务器。在请求参数中,除了查询条件,还需要提供分页信息。成功响应后,数据通常以JSON格式返回,然后解析并...

    Ext JS 3.2 学习指南

    - **第4章:网格面板**:详细讲解Grid Panel的使用方法及其高级功能。 ##### 4.3 第三部分:进阶主题 - **第5章:自定义主题**:教授如何定制Ext JS应用的外观和感觉。 - **第6章:性能优化**:分享提高Ext JS应用...

    extmaxdate3.rar_ext_大数据

    2. **Ext.grid.Panel配置**:配置`grid`的`pagingToolbar`,它会显示分页控件,用户可以通过点击页码或使用导航按钮来切换页面。例如: ```javascript var grid = Ext.create('Ext.grid.Panel', { ... ...

    API Ext2.2中文文档

    1. **基础组件**:介绍ExtJS中的基础组件,如面板(Panel)、窗口(Window)、表单(Form)、表格(Grid)等。这些组件是构建用户界面的基本模块,通过配置和组合,可以创建各种复杂的UI布局。 2. **数据绑定**:...

    Ext经典例子整合 快速上手必看

    TabPanel是EXTJS中的一个容器组件,它允许你在同一区域内展示多个视图,并通过标签页进行切换。每个标签页都是一个独立的Panel,可以包含任何EXTJS组件。TabPanel提供了丰富的配置选项,如自定义标签页样式、关闭...

Global site tag (gtag.js) - Google Analytics