标签: extjs4.2

如何只在formpanel中打开ExtJS中的弹出窗口

我有Form面板,它用字段来保存表单.

现在点击按钮,我打开窗口,然后像这样在窗口中添加表单作为项目

win = new Ext.Window({
    title: 'Add',
    layout: 'fit',
    autoScroll: true,
    y: 120,
    width: 600,
    height: 600,
    modal: true,
    closeAction: 'hide',
    items: [formpanel]
});
win.show();
Run Code Online (Sandbox Code Playgroud)

现在,这显示了两个窗口,一个显示主窗口标题Add和边框,然后是另一个带有标题和边框的formpanel框架.

是否有任何方式使窗口只能形成标题和边框,而不是窗口标题和边框和背景

它就像只显示formPanle作为弹出窗口,而不是窗口内的formpanel

javascript extjs extjs4.2

9
推荐指数
1
解决办法
3万
查看次数

Extjs Treepanel:CSS更改默认图标(节点和叶子)

我有一个像http://jsfiddle.net/bmbMy/的树面板 我尝试使用css更改默认图标(节点和叶子).但那不起作用.

.x-grid-row  .x-grid-tree-node-expanded {
    background: url('http://icons.iconarchive.com/icons/sekkyumu/developpers/16/Play-Green-Button-icon.png') no-repeat center center !important;
}
.x-grid-row  .x-grid-tree-node-leaf {
    background-image:url('http://icons.iconarchive.com/icons/graphicrating/koloria/16/Button-Play-Pause-icon.png');
}
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做谢谢

tree extjs extjs4 extjs4.1 extjs4.2

8
推荐指数
1
解决办法
9113
查看次数

Extjs 4.2.1 - config autoLoad:false失败

我定义了一个treepanel扩展extend: 'Ext.tree.Panel',它具有initComponent函数

 Ext.define('Example', {
    extend: 'Ext.tree.Panel',
    title: 'Example',
    useArrows:false, 
    rootVisible: false,
    border: false,
    initComponent: function () {
        var store = Ext.create('Ext.data.TreeStore', {
            fields: [
                {name: 'id',     type: 'string'},
                {name: 'text',     type: 'string'}
            ],
            autoLoad : false, // not working
            proxy: {
                type: 'ajax',
                url: 'data.php',
                reader: {
                    type: 'json',
                    root: 'results'     
                }
            }

        });
        this.store = store;
        this.callParent(arguments);
    }
 });
Run Code Online (Sandbox Code Playgroud)

我尝试设置autoLoad: false但是当我创建我的时候总是加载treepanel

当我尝试配置下面的代码存储然后autoLoad: false工作但我的treepanel后加载是空白

                root: {
                    text: 'Ext JS', …
Run Code Online (Sandbox Code Playgroud)

extjs extjs4 extjs4.2

8
推荐指数
1
解决办法
5558
查看次数

extjs - 如何在商店中禁用分页

只要store(Ext.data.Store)从服务器读取数据,它就会像&page=1&start=0&limit=25json代理中或[page:1, start:0, limit:25]使用direct代理一样发送分页参数.

我想在商店或代理配置中禁用分页.

我找到了这个解决方法,但我确信必须有一个更好的方法.

proxy: {
    pageParam: undefined,
    startParam: undefined,
    limitParam: undefined,
    ...
}
Run Code Online (Sandbox Code Playgroud)

有谁知道如何正确禁用分页?

pagination extjs extjs4.2

8
推荐指数
1
解决办法
5524
查看次数

extjs - 应用程序启动时不应加载具有自动加载功能的存储

我有一个链接到商店的网格autoLoad: true.问题是商店在应用程序启动时加载,即使稍后在通过菜单访问时创建视图也是如此.

我在Application.js和视图中引用了商店,但我没有明确地对商店和视图进行实例化.

我不知道如何实现只在视图需要时才加载存储.

  • 如果我设置autoLoad: true,商店将在应用程序启动时加载.
  • 如果我设置autoLoad: false,商店根本没有加载.

我知道这是非常基本的,但我到目前为止都陷入困境.


以下是所有相关的参考代码:
app/store/Owners.js

Ext.define('Mb.store.Owners', {
    extend: 'Ext.data.Store',
    model: 'Mb.model.Owner',
    autoLoad: true,
    proxy: {
        ...
});
Run Code Online (Sandbox Code Playgroud)

的application.js

Ext.define('Mb.Application', {
    name: 'Mb',
    extend: 'Ext.app.Application',
    models: [
        'Owner'
    ],
    stores: [
        'Owners'
    ],
    ...
Run Code Online (Sandbox Code Playgroud)

应用程序/视图/ Owners.js

Ext.define('Mb.view.winbiz.Owners', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.test-gridPanel',
    store: 'winbiz.Owners',
    columns: [{
    ...
Run Code Online (Sandbox Code Playgroud)

视图在控制器中实例化:

Ext.define('Mb.controller.Winbiz', {
    extend: 'Ext.app.Controller',
    views: [
        'Owners'
    ],
    init: function(){
        this.control({
            'menu #test': {click: this.onMenuTest},
        })
    },
    onMenuTest: function(){
        this.getController('Main').addToMainTab('test-gridPanel');
    },
Run Code Online (Sandbox Code Playgroud)

extjs extjs4 extjs-stores extjs4.2

8
推荐指数
1
解决办法
3万
查看次数

如何在网格中以编程方式设置列的编辑器

我有一Ext.grid.Panel组列.此网格已过滤,根据过滤器,我想为列定义编辑器.

我的网格:

Ext.define('Mb.view.MyPanel', {
    extend: 'Ext.grid.Panel',
    columns: [
        {text: 'Order #', dataIndex: 'id'},
        {text: 'Action', dataIndex: 'type',
            renderer: function(value){
                if(value == 'BP') return Lang._('Veuillez choisir')
                 return ''
            }
        },
Run Code Online (Sandbox Code Playgroud)

现在我想做一些事情:

var panel = Mb.app.getView('MyPanel');
if (condition == true) {
    panel.getColumns[1].setEditor({
        xtype: 'textfield',
        ...
    })
}
Run Code Online (Sandbox Code Playgroud)

显然,方法getColumnssetEditor不存在.因此,我需要另一种方法来激活该列上的编辑器.
我没有找到一种方法来访问列定义来修改它们并在之后重新呈现网格.

你能给我一个关于搜索方向的提示吗?谢谢.

extjs extjs4.2 extjs-grid

8
推荐指数
1
解决办法
1万
查看次数

Ext.isIE在IE 11中返回false

当我尝试在IE11中使用Ext.isIE时,我得到错误的返回值.然后在调试我的代码时,我看到我收到以下错误:JavaScript错误 - 消息:无效的参数.,我的extjs的版本是:4,2

extjs extjs4.2

8
推荐指数
1
解决办法
8953
查看次数

ExtJs - 使用列标题中的搜索字段过滤网格

在ExtJs中,有许多选项可以过滤网格.文档中有两个很好的例子,比如这个问题中提到的.

  1. 远程过滤
  2. 本地过滤

但是,隐藏在默认下拉菜单中的过滤器Ext.ux.grid.FiltersFeature看起来对我来说真的很尴尬.一个良好的人体工程学选择将在列标题中创建搜索字段,如@Ctacus在他的问题中显示.

怎么能实现这一目标?

grid extjs filter extjs4 extjs4.2

8
推荐指数
1
解决办法
4万
查看次数

对ExtJS TreePanel中的列进行排序会更改节点记录的顺序,而不仅仅是叶子

我已经设法实现了一个treepanel,一切似乎都在工作.我有这样的数据(见下文).我的字段我"命名",其中包含"ItemA","ProductA"之类的节点和"Iron",它是一个叶子和一个名为"Available"的属性,它是真/假(布尔但表示为字符串) .

单击布尔值的排序列时,它会对它们进行排序,但整体排序.即我只想对每组中的布尔值进行排序.目前它将它们分类为一组项目.所以ItemB下的节点改变顺序,而不仅仅是布尔列的顺序.我希望这是有道理的.

我将列模型设置为此

        sortType: Ext.data.SortTypes.asUCString
Run Code Online (Sandbox Code Playgroud)

我也尝试在treepanel中更改true和false之间的"folderSort"属性,但它没有任何区别.

有任何想法吗?

这是我的数据示例,可以更好地将其可视化.

 ItemA
    ProductA
       Iron        true

 ItemB
    Product123
       House       true
       Garage      false
       Misc        false
    Product1443
       HouseF      true
       NewItem     false
Run Code Online (Sandbox Code Playgroud)

javascript extjs extjs4.1 extjs4.2

8
推荐指数
1
解决办法
1215
查看次数

如何将extjs网格数据导出为ex​​cel?

我有一个包含大量记录的网格.我根据需要使用过滤器来过滤数据.但我想将过滤后的数据导出到Excel工作表以供进一步使用.

我浏览了一些可用的文章,但它们看起来不同,与最新的4.2版本不兼容.

请以简单的方式帮助我实现这一目标.

非常感谢!

extjs extjs4.2

7
推荐指数
1
解决办法
2万
查看次数