标签: extjs4

如何强制ExtJS NumberField中的小数显示达到一定的精度?

我有一个表单,从JSON NumberField获取类型的值float.如果值恰好是整数,则不显示小数位.我想一直显示2位小数.这有配置选项吗?

这是我的声明:

items: [
    { 
        fieldLabel: 'Net Sales',
        name: 'netSales',
        allowBlank:false,
        decimalPrecision:2
    },
Run Code Online (Sandbox Code Playgroud)

extjs extjs4 extjs3

14
推荐指数
3
解决办法
4万
查看次数

基于内容自动调整Ext JS Window,最大可达maxHeight

使用Ext JS 4.0.2,我试图打开一个窗口,自动调整大小以适应其内容,直到达到高度限制,此时它会停止变大并显示滚动条.

这就是我正在做的事情

Ext.create('widget.window', {
    maxHeight: 300,
    width: 250,
    html: someReallyBigContent,
    autoScroll: true,
    autoShow: true
});
Run Code Online (Sandbox Code Playgroud)

首次渲染窗口时,它的大小足以容纳真正大的内容 - 大于maxHeight应允许的内容.如果我尝试调整它的大小,然后快速向下移动到300px的maxHeight.

如何在最初渲染窗口时将窗口限制为maxHeight?

extjs extjs4

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

从ExtJS中的商店中删除过滤器

我明确地Ext.data.Store使用该store.filter(string, string)方法添加过滤器.

但是,我无法弄清楚如何从商店中删除过滤器.因此,即使在重新加载后,过滤器也始终适用store.load().我看到的唯一解决方法是重新启动整个Web应用程序.

如何从中删除过滤器Ext.data.Store

javascript extjs4

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

ExtJS 4 MVC多个视图实例和子/子控制器的困难

我在ExtJS 4中遇到了MVC模式的问题.至少,我认为我有.通过这个问题与多个人接触,并在Sencha论坛上多次发布,我现在转向更广泛的受众,希望得到一个灯泡或确认.

问题

您的应用程序可以打开许多不同的视图,其中一些视图本身就是迷你应用程序.另外,用户可能希望打开视图的多个并发副本.

此应用程序是单页客户端Javascript应用程序.

ExtJS 4 MVC模型希望您在Application类中定义所有控制器.然后在应用程序加载时初始化这些控制器.控制器跟踪视图,模型和存储.

多次初始化控制器A时,比如创建多个视图副本,最终会有两个引用相同数据存储的视图,并在功能上将重复事件发送到应用程序事件总线.

我通过向Component和Controller添加新的原型方法来重构我的应用程序,以允许a)子控制器(我的一些控制器变得非常庞大)和b)专门为它们使用的视图定义存储.模型仍然可以在控制器上定义,只是为了方便处理程序使用,如果你需要做一些事情,比如从服务器上获取记录.

我对MVC的理解会让我相信模型与View更直接相关,而不是Controller.我假设ExtJS 4决定将存储(我认为可以看作是更经典模型的包装器)附加到控制器,以鼓励重复使用加载的数据,并优化远离同一类的多个副本实例化.但是,在我看来,如果打算让用户可以使用许多视图实例,则无法执行此操作.根据我的想法,拥有许多实例是OO框架中的一个重要选项,因此我为什么要逆转趋势并在一些Ext基类上实现原型.(谢谢Ext.implement!).

有没有办法让一个视图的多个并发实例使用开箱即用的MVC类并使用提供的setter,getter等来加载不同的数据

extjs4 extjs-mvc

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

Ext JS 4 - 理解this.control,选择器和事件处理

我试图理解Ext JS 4(MVC)如何处理按钮,组合框和类似的工作.

具体来说,我相信MVC我们应该在控制器init函数中使用"this.control".

例如,我有以下工作:

this.control({
    'eventlist': {
        itemdblclick: this.eventRowClicked
    },
    'eventedit button[action=save]': {
        click: this.updateEvent
    }
});
Run Code Online (Sandbox Code Playgroud)

看起来很简单,我选择'eventlist'视图并为网格注册eventRowClicked事件.然后,在我的'eventedit'视图中,捕获按钮单击(保存按钮).

我接下来需要的是响应组合框选择或更改事件.我认为我有多个组合框,所以我需要一个特定的组合框.

我尝试了这个,但它没有用(我也试过选择而不是改变):

'eventedit dispositionpop': {
    change: function(combo, ewVal, oldVal) {
        debugger;
    }
}
Run Code Online (Sandbox Code Playgroud)

我能找到的所有例子都不使用'this.control',他们要么将组件(Ext.get?)抓取到变量中,要么类似.我相信那些方法不是合适的mvc - 或者可能不是Ext JS 4最有效的方法.

所以我想知道两件事 - 我将如何注册特定的组合框选择或更改事件,以及我可以阅读什么来更好地了解this.control中发生的事情 - 例如,那些css选择器?

model-view-controller events controller extjs extjs4

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

如何将Click Event添加到Ext.Img?

如何将Click Event添加到Ext.Img?

var paddleItem = new Ext.Img({
    xtype : 'image',
    src : "lib/Image/Paddle.png",
    x : 200,
    y : 300,
    draggable : true,
    index : 0,
    id : 'paddleItem',
    listeners : {
        click : function(){
            Ext.Msg.alert("Message");
        }
    },
    renderTo : Ext.getBody()
});
Run Code Online (Sandbox Code Playgroud)

这是我的代码,但它不起作用.

请给我一些建议..

javascript extjs extjs4

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

如何调用XTemplate中的函数(itemTpl)

我想在一些将输出到视图的文本上使用Ext的String方法.

例如:

itemTpl: [
    ...
    '<tpl switch="post_type">',
    '<tpl case="new_user">',
        '<p>{post_text_teaser}</p>',
        '<p>{timestamp}</p>',
    '<tpl default>',
        '<p>' + Ext.String.ellipsis( + '{post_text_teaser}' + \, 4) + '</p>',
    ...
].join(''),
Run Code Online (Sandbox Code Playgroud)

但当然第10行的连接是非法的.

你知道它是否可能或如何正确地做到这一点?

javascript extjs sencha-touch extjs4 sencha-touch-2

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

ExtJS 4:克隆商店

我试图弄清楚如何在Ext.data.Store不保留旧引用的情况下克隆一个.

让我用一些代码更好地解释一下.这是源存储:

var source = Ext.create ('Ext.data.Store', {
    fields: ['name', 'age'] ,
    data: [
        {name: 'foo', age: 20} ,
        {name: 'boo', age: 30} ,
        {name: 'too', age: 10} ,
        {name: 'yoo', age: 80} ,
        {name: 'zoo', age: 30}
    ]
});
Run Code Online (Sandbox Code Playgroud)

按照我想要做的一个例子:

var target = source;
target.removeAll ();
// Here I need to have target empty and source unchanged
// But in this case, source is empty as well
Run Code Online (Sandbox Code Playgroud)

现在,在上面的例子中,副本是通过引用完成的,而我需要按值来完成.所以我Ext.clone ()在文档中发现它似乎不适用于复杂的对象,例如Ext.data.Store:

var target = Ext.clone …
Run Code Online (Sandbox Code Playgroud)

javascript model extjs store extjs4

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

使用Ext JS访问复杂的REST资源

我正在访问一个REST服务,它公开了这两个资源,一个父资源和一个子资源:

/users
/users/{userId}/account
Run Code Online (Sandbox Code Playgroud)

因此资源"帐户"不嵌套在资源"用户"中,它必须由第二个请求访问.这里有REST API的例子,例如这里

我使用这些模型将用户及其帐户映射到Ext Js 4数据模型:

用户

Ext.define("MyApp.model.User", {
    extend: "Ext.data.Model",
    fields: [ { name: "id", type: "string" }],
    associations: [{
            model: "MyApp.model.Account",
            name: "account",
            type: "hasOne",
            reader: "json",
            getterName: "getAccount",
            setterName: "setAccount", 
            foreignKey: "accountId"
        }
    ],
    proxy: {
        type: "rest",
        url: "/rest/users",
        reader: {
            type: "json",
            totalProperty: "total",
            root: "users"
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

帐户

Ext.define("MyApp.model.Account", {
    extend: "Ext.data.Model",
    fields: [ { name: "id", type: "string" }],
    belongsTo: "MyApp.model.User",
    proxy: {
        type: "rest",
        reader: { type: "json"} …
Run Code Online (Sandbox Code Playgroud)

rest extjs parent-child extjs4

14
推荐指数
2
解决办法
9071
查看次数

是否可以为图表添加标题?

我想在图表中添加标题,例如在仪表示例或饼图中.我想在图表下方或顶部显示标题.这可能吗?我一直在寻找并且找不到任何关于此的信息.如果是这样,任何提示要分享?它会是这样的 衡量标题

编辑:我发现有一个属性可以为 Ex.draw包中的标题或任何标签创建文本精灵.但我无法理解如何使用它..

anybdy在这里做了同样的事情吗?

charts label extjs title extjs4

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