我需要知道如何使用Label
中的值填充Store
。在我的Model
中,我定义了一个名为bookname
的字段。我需要用书名填充这个标签。
我知道如何为网格执行此操作,但不知道如何为Label
或Textfield
执行此操作。
在网格中;
{ text: "Book Name", dataIndex: 'bookname'},
但是,我们如何为Label和textfields添加值。
更新
我仍然有问题。我无法将值设置为Label。 (从STORE加载后)。标签显示但不会填充从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);
}
});
答案 0 :(得分:2)
只需为label设置一个值,就可以使用label中描述的setText方法 http://docs.sencha.com/ext-js/4-0/#!/api/Ext.form.Label-method-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,
答案 1 :(得分:0)
各种fields
通常合并为form
中的项目 - (请参阅http://docs.sencha.com/ext-js/4-0/#!/api/Ext.form.Panel)。 Form有一个方法getForm().loadRecord(model)
,用于将模型中的数据(商店中的记录)加载到表单中的所有字段。
PS:看起来你还没有通过Sencha指南(http://docs.sencha.com/ext-js/4-0/#!/guide),因为我建议你解决其他问题。你仍然不知道事情是如何运作的。
答案 2 :(得分:0)
Ext 4.1在setFieldLabel()
上引入了Ext.form.Labelable
,其混合到Ext.form.field.Base
中,并在Ext.form.field.Text
中提供。
因此,您可以致电myTextField.setFieldLabel("My Label Text")