标签: extjs5

EXTJS 5:如何在EXT JS 5中对网格列进行排序

我最近将EXT JS的版本更新为5,并且覆盖doSort功能不再有效.有人在想怎么办?

覆盖范围:

{
    text: 'Custom',
    sortable : true,
    dataIndex: 'customsort',
    doSort: function(state) {
        var ds = this.up('grid').getStore();
        var field = this.getSortParam();
        ds.sort({
            property: field,
            direction: state,
            sorterFn: function(v1, v2){
                v1 = v1.get(field);
                v2 = v2.get(field);

                return v1.length > v2.length ? 1 : (v1.length < v2.length ? -1 : 0);
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑1: 我只是尝试@tomgranerod的解决方案,但me.sortState始终是'undefined'.所以我这样做来更新我的变量:

    sort: function () {
        var me = this,
            grid = me.up('tablepanel'),
            store = grid.store;

        me.sortState = me.sortState === 'ASC' ? 'DESC' : 'ASC';

        Ext.suspendLayouts(); …
Run Code Online (Sandbox Code Playgroud)

javascript extjs extjs5

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

Extjs 5 hasMany vs field.reference

我很难理解ExtJS中不同类型的数据绑定,我无法弄清楚这一点:

在两个模型上定义关联时,"hasMany"和"field.reference"之间有什么区别?

我什么时候应该使用"hasMany",什么时候"参考"更好?

例如,如果我想为一个用户定义多个电子邮件地址,那么最佳做法是什么,以便我可以在其他地方使用电子邮件模型?

我知道我有3个问题,但这些问题似乎属于一个问题.

谢谢!

extjs reference associations difference extjs5

5
推荐指数
1
解决办法
3187
查看次数

控制器如何在Extjs应用程序中与MVC一起使用

我是Extjs的新手,在浏览了Extjs MVC模式的一些教程和博客后,我不清楚如何在extjs平台上构建复杂的应用程序(例如10 - 15页面导航).

在sencha论坛中,建议所有控制器都需要在app.js中预先定义(因为与加载DOM的UI相比,加载控制器之前的性能不会受到影响.请注意,这是由sencha论坛提到的经理).

按照上述方法,我几乎没有问题:

  • 控制器什么时候实例化?它们都是在应用程序加载时加载和实例化的,并且在应用程序的生命周期内一直监听它们中定义的事件吗?

  • 在控制器类中定义Models [],Stores []和Views []意味着什么?什么时候加载并实例化?

  • 页面导航如何与控制器一起使用?如果导航到新页面只是转换为getParentContainer.remove(componentX)和getParentContainer.add(componentY),那么控制器的目的仅仅是处理事件的文件?

  • 控制器是否有任何范围(实例化>销毁)?如果不是,如何创建和销毁多个实例,以便我的操作不会被错误的实例监听(我看过一些提到控制器的博客大多是单身)?

有人可以对此有所了解吗?任何示例/插图都会有很大帮助.

谢谢

javascript extjs extjs4 extjs5

5
推荐指数
1
解决办法
2846
查看次数

在Visual Studio中将extjs 5 app build与sencha cmd和WebAPI集成

我是ExtJs的新手,想要将使用Sencha CMD创建的ExtJs 5应用程序集成到WebAPI应用程序中!

我进行了BUILD模式的集成,但没有进行开发模式.

关于这篇文章 ,整合步骤如下所示!

  • 步骤1.创建路径:C:\ VCProject\SVCodeCampWeb\WebAPI

  • 步骤2.在步骤1的目录中创建名为"API_NAME"的WebAPI项目.

  • 步骤3.将ExtJS 5框架(ext-5.0.0)移动到步骤1的目录.

  • 步骤4.使用sencha cmd生成extjs应用程序:

    C:\VCProject\SVCodeCampWeb\WebAPI\ext-5.0.0>sencha generate app MyApp C:\VCProject\SVCodeCampWeb\WebAPI\API_NAME\API_NAME\CMDBUG1

  • 步骤5.通过Solution Explorer将ext应用程序包含在Web Api中.

  • 步骤6.使用sencha cmd构建应用程序,如下所示:

    C:\Users\albert\Documents\Visual Studio 2013\Projects\BMSIA\BMSIA.Web\BMSJS>sencha app build

作品!!!这些是我在WebAPI for BUILD模式的_Layout.chtml中包含的文件并且有效!

<script src="~/CMDBUG1/build/production/MyApp/app.js"></script>
<link href="~/CMDBUG1/build/production/MyApp/resources/MyApp-all.css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)

错误部分!!!

对于开发模式,我包括以下文件:

< link href="~/CMDBUG1/build/production/MyApp/resources/MyApp-all.css" rel="stylesheet" />

< script src="~/CMDBUG1/ext/ext-all.js"></script>

< script src="~/CMDBUG1/app.js"></script>
Run Code Online (Sandbox Code Playgroud)

但它抛出了这个错误:

TypeError: Ext.application is not a function
Run Code Online (Sandbox Code Playgroud)

如果您需要更多详细信息,请告诉我们!

任何帮助将不胜感激!

asp.net-web-api extjs5

5
推荐指数
1
解决办法
1969
查看次数

EXTJS 5.1上的月份字段

我从另一个堆栈溢出帖子(感谢igor)得到了这个很棒的小提琴https://fiddle.sencha.com/#fiddle/h5i.但我有一个问题:如果我选择extjs版本5.1,这是我在我的应用程序中使用的版本,代码不起作用.问题是,当我点击一个月或一年时,日历就会关闭(您可以通过将版本设置为5.1并再次运行小提琴来尝试该行为).我试图自定义部分代码,但没有改变:s.

任何人都有任何想法为什么这不适用于extjs 5.1,或者我怎么能解决这个问题?

提前致谢 :) !

field extjs monthcalendar extjs5

5
推荐指数
1
解决办法
1768
查看次数

未捕获错误:[Ext.create]无法识别的类名/别名:MyApp.store.LibraryFolderTreeStore

我正在迁移ext js 4 to ext js 5.1.我的extjs 4.2.1中的代码在升级到extjs 5.1之后会出现控制台错误.它在ExtJs 4.2.1中运行良好,不知道它为什么会出错,说

未捕获错误:[Ext.create]无法识别的类名/别名:MyApp.store.LibraryFolderTreeStore

Ext.define('MyApp.view.library.LibraryTreeView', {
       extend : 'Ext.tree.Panel',
       alias : 'widget.librarytreeview',
       requires: [
         'MyApp.store.LibraryFolderTreeStore'
       ],
       store : Ext.create("MyApp.store.LibraryFolderTreeStore") // getting error on this line
       ....
});
Run Code Online (Sandbox Code Playgroud)

javascript extjs extjs4 extjs5

5
推荐指数
1
解决办法
5213
查看次数

ExtJS 删除商店的商品

在 extjs 应用程序中,我有一个读取 json 文件的树面板,在树面板中我有一个执行操作的复选框,另外我将选中的元素保存在选项卡面板的网格面板中...

\n\n

我想删除之前使用复选框的 checkchange 事件保存的商店的任何元素...

\n\n

我有这个代码

\n\n

风景:

\n\n
Ext.define(\'app.view.ViewTablaContenido\', {\nextend: \'Ext.window.Window\',\nid: \'viewTablaContenido\',\nshadow: false, \nalias: \'widget.tablaContenido\',  \n\ninitComponent: function() {\n    .......\n\n    var tree = Ext.create(\'Ext.tree.Panel\', {\n        title: \'\',\n        id: "arbolTabla", \n        width: anchoTOC,\n        height: altoTOC,            \n        reserveScrollbar: true,\n        loadMask: true,\n        useArrows: true,\n        rootVisible: false,\n        store: \'capa\',\n        allowDeselect : true,\n        border : true,\n        animate: true,\n        columns: [{\n            xtype: \'treecolumn\',\n            text: \'Capa\',\n            flex: 5,\n            sortable: true,\n            dataIndex: \'titulo\'\n        },{\n            text: \'Metadato\',\n            flex: 2,\n            dataIndex: \'metadato\',\n            renderer: addUrl\n        }]\n …
Run Code Online (Sandbox Code Playgroud)

javascript extjs extjs5

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

禁用 ExtJs 应用程序的缓存

我们有一个用 Sencha cmd 5.0.1.231 构建的 ExtJS 5.01 应用程序。

我们面临的问题是浏览器似乎缓存了我们应用程序的旧版本。在为我们的应用程序提供服务时查看 chrome 上的网络流量,我可以看到 app.js、app.css 文件都附加了 ?_dc={timestamp} 。现在,这告诉我每次发布我的应用程序的新版本(更新此时间戳)时,浏览器都应该获得一个新版本。但似乎有时仍然提供旧版本。

还有什么我需要做的胸围缓存吗?

谢谢

javascript caching extjs extjs5 sencha-cmd5

5
推荐指数
1
解决办法
7428
查看次数

从商店中删除多条记录的最佳方法是什么?ExtJS的

使用extjs中的条件删除多个记录的最佳方法是什么?

例如:

var store = Ext.create('Ext.data.Store', {
    data: [
        {name: 'Ed', age: 21},
        {name: 'Tommy', age: 15},
        {name: 'Aaron', age: 18},
        {name: 'John', age: 22}
    ]
});
Run Code Online (Sandbox Code Playgroud)

我想删除'年龄'小于20的记录(在这种情况下,'Tommy'和'Aaron').这个问题可能与如何找到多个条件的多个记录相同.

javascript extjs extjs4 extjs5

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

ExtJS 6-如何在不使用表单的情况下上传文件?

Ext JS提供了fileuploadfield与按钮捆绑在一起的按钮,以浏览本地文件。我只需要使用从本地选择的文件就上传文件,而不是使用提交按钮来触发发布过程。选择文件后找不到触发的事件。

ps实际上,我使用的版本是Ext JS 6,但我认为基于以前版本的解决方案也可以完成。

extjs extjs4 extjs5 extjs6 extjs6-classic

4
推荐指数
2
解决办法
7679
查看次数