我是Ext JS的新手,现在有点卡在看似简单的东西上,但我不知道如何实现它。
我正在尝试从商店中检索应以field.displayfield
格式显示的数据,但我无法这样做。
实施例: 名称:机器45
应该从商店程序中检索机器45,但是当我定义:
时store:abc,
value: 'program_id'
不显示program_id
列下的值,而是显示'program_id'
,即
Name: program_id.
我知道如何链接商店程序和Ext.form.field.Display
?我尝试过在网上找到的所有可能的建议。
我在视图文件中的代码是:
var name = Ext.create('Ext.form.field.Display', {
xtype: 'displayfield',
id: 'program_name',
name: 'name',
fieldLabel: 'Name',
labelWidth: '250px',
width: 450,
height: 20,
store: programAssetArray,
value: 'o_program_id'
});
me.items.push(name);
商店代码是:
Ext.define('Availability.store.ProgramData', {
extend: 'Ext.data.ArrayStore',
fields: [
{name: 'o_program_id', type: 'integer'},
{name: 'o_program_name', type: 'text'},
{name: 'o_parts_expected', type: 'integer'},
{name: 'o_start_time', type: 'bigint'},
{name: 'o_end_time', type: 'bigint'},
{name: 'o_duration', type: 'bigint'},
{name: 'o_station_id', type: 'integer'},
{name: 'o_head_id', type:'integer'}
]
});
那么,我如何从商店程序中检索数据呢?
答案 0 :(得分:0)
显示字段只能显示一个值 - 您无法向其声明商店。您需要显示所有商店值的字段。它们应合并在Form中,您可以在表单中加载商店中的记录。
您的name
属性应为o_program_id
且值不应为硬编码:
var name = Ext.create('Ext.form.field.Display', {
// ...
name: 'o_program_id',
// ...
});
您可以为每个记录值声明此类字段。