0

我需要知道如何LabelStore. 在我的Model我定义了一个名为bookname. 我需要用书名填充这个标签。

我知道如何为 Grid 执行此操作,但不知道如何为 aLabel或 a执行此操作Textfield

在网格中;

{ text: "Book Name", dataIndex: 'bookname'},

但是,我们如何向标签和文本字段添加值。

更新

我仍然有这个问题。我无法将值设置为标签。(从商店加载后)。标签会显示,但不会填充从 STORE 获得的值。没有这样的错误。

Ext.define('Ex.view.info', {
    extend: 'Ext.window.Window',
    alias: 'widget.info',
    initComponent: function() {
        var st = Ext.getStore('peopleinformation');
        st.load();
        this.items = [
            {

                xtype: 'label',
                forId: 'myFieldId',
                text: 'My Awesome Field',
                name: 'personfirstname',
                margins: '0 0 0 10'

            }
        ];
        this.callParent(arguments);
    }
});
4

3 回答 3

2

对于仅设置 label 的值,您可以使用标签 http://docs.sencha.com/ext-js/4-0/#!/api/Ext.form.Label-method-setText中描述的 setText 方法

yourLabel.setText('value');

对于 textField - http://docs.sencha.com/ext-js/4-0/#!/api/Ext.form.field.Text-method-setValue

更新:

// in your store
 proxy: {
    type: 'ajax',
    url: 'you url',
    method: 'GET',
    headers: { 'Content-Type': 'application/json' },  //your response type like xml, json        
    reader: { type: 'json',            
        getResponseData: function (response) {
            var data = Ext.decode(response.responseText);
            //loop here , if more labels are there
            // get the object referance of label and update that
        }
    }

更新:你试过:

 text: st.yourFieldName,
于 2012-07-06T12:16:15.193 回答
0

各种fields通常组合为form- 中的项目(参见http://docs.sencha.com/ext-js/4-0/#!/api/Ext.form.Panel)。表单有一种方法getForm().loadRecord(model)可以将模型中的数据(记录在您的商店中)加载到表单中的所有字段。

PS:看起来您还没有阅读 Sencha 指南 (http://docs.sencha.com/ext-js/4-0/#!/guide),因为我在您的其他问题上建议过您。你仍然没有大致了解事情是如何运作的。

于 2012-07-06T11:53:18.617 回答
0

Ext 4.1 引入其中混入,使其setFieldLabel()在.Ext.form.LabelableExt.form.field.BaseExt.form.field.Text

因此你可以打电话myTextField.setFieldLabel("My Label Text")

于 2012-07-06T14:32:26.490 回答