【问题标题】:Item Click grid. Change label text项目 单击网格。更改标签文本
【发布时间】:2015-01-04 23:39:48
【问题描述】:

单击网格项和更新文本字段没有问题,但您认为我更改了标签文本吗?呜呜呜

当我在网格中选择一个记录集时,我想要做的就是更新标签文本和文本字段(它已经这样做了)。

型号

Ext.define("myApp.model.ActionItem", {
    extend : "Ext.data.Model",
    fields : [
        {
            name: 'pri',
            type: 'int'
        },
        {
            name: 'request',
            type: 'int'
        }
    ]

});

控制器:

Ext.define("myApp.controller.HomeController", {
    extend: "Ext.app.Controller",
    id:     "HomeController",
    refs: [
        { ref: "ActionItemsGrid",    selector: "[xtype=actionitemgrid]" },
        { ref: "DetailsPanel",       selector: "[xtype=actionitemdetails]" }
    ],
    pri: "",
    models: ["ActionItem"],
    stores: ["myActionStore"],
    views:
        [
            "home.ActionItemDetailsPanel",
            "home.ActionItemGrid",
            "home.HomeScreen"
        ],
    init: function () {
        this.control({
            "#homescreen": {
                beforerender: this.loadActionItems
            },
            "ActionItemsGrid": {
                itemclick: this.displayDetails
            }
        });
    },
    displayDetails: function (model, record) {
        this.getDetailsPanel().loadRecord(record);
    },
    loadActionItems: function () {
        var store = Ext.getStore("myActionStore");
        store.load();
        this.getActionItemsGrid().reconfigure(store);
    }
});

查看

Ext.define("myApp.view.home.ActionItemDetailsPanel", {
    extend : "Ext.form.Panel",
    xtype: "actionitemdetails",
    items: [
                {

                    xtype: "fieldset", defaults: { xtype: "textfield", disabled: true },
                    items: [
                        {
                            xtype: 'label',
                            forId: 'pri',
                            text: 'My Priority',
                            margin: '0 0 0 10'
                        },
                        { id: "pri",          fieldLabel: "Priority" },
                        { id: "request",      fieldLabel: "Requested Time" }
                    ]
                }
            ]
});

【问题讨论】:

  • 你试过什么?问题是什么?为什么不直接调用setText 方法呢? docs.sencha.com/extjs/5.1/5.1.0-apidocs/#!/api/…
  • 感谢您回复埃文。我对这门语言还是很陌生,所以在这里对我很陌生。我的理解是,因为 loadform 是 Form 的一种方法,它会将它与 Ext.form.panel 中的项目 ID 匹配?因此,在我的示例中,只要该字段是一个文本字段,它就可以工作。但如果它是一个标签,它不会做任何事情。至于我尝试过的内容,您可以从我的观点中看到我放入了一个标签字段并给它一个 'pri' 的 id。这是我现在唯一能想到的。
  • 对不起...*loadRecord (typeO) :)

标签: extjs


【解决方案1】:

不久前我从 Condor 那里找到了解决方案。 http://www.sencha.com/forum/showthread.php?106256-Form-Panel-Load-Record-and-show-the-data-in-form-label

它的要点是标签不是一个字段。所以为了做我想做的事,我需要一个 xtype: 'displayfield' 和我想要的字段名称。

{
    xtype: 'displayfield',
    name: 'pri',
    text: 'My Priority',
    margin: '0 0 0 10'
}

【讨论】:

    猜你喜欢
    • 2015-07-21
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-16
    • 1970-01-01
    • 2015-12-03
    相关资源
    最近更新 更多