Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未从存储区填充Extjs Displayfield_Javascript_Forms_Extjs - Fatal编程技术网

Javascript 未从存储区填充Extjs Displayfield

Javascript 未从存储区填充Extjs Displayfield,javascript,forms,extjs,Javascript,Forms,Extjs,我是ExtJS新手,现在有点执着于看似简单的东西,但我不知道如何去实现它 我正在尝试从存储中检索应显示在字段.displayfield格式中的数据,但我无法执行此操作 例如: 名称:机器45 应从存储过程检索机器45,但当我定义: store:abc, value: 'program_id' 它不显示程序id列下的值,而是显示“程序id”,即 Name: program_id. 知道如何链接存储过程和Ext.form.field.Display?我已经尝试了在网上找到的所有可能的建议 我在

我是ExtJS新手,现在有点执着于看似简单的东西,但我不知道如何去实现它

我正在尝试从存储中检索应显示在
字段.displayfield
格式中的数据,但我无法执行此操作

例如: 名称:机器45

应从存储过程检索机器45,但当我定义:

store:abc,
value: 'program_id'
它不显示
程序id
列下的值,而是显示
“程序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'}
    ]
});

那么,如何从存储过程中检索数据呢?

显示字段只能显示一个值-不能向其声明存储。您需要显示所有存储值的字段。它们应该组合在一个表中,您可以从存储中以表单的形式加载记录

您的
name
属性应为
o\u program\u id
,并且不应硬编码该值:

var name = Ext.create('Ext.form.field.Display', {
    //  ...
    name: 'o_program_id',
    // ...
});

您可以为每个记录值声明这些字段。

谢谢Darin。我还是有点困惑。o_program_id是我试图在displayField中检索其值的列名。如果name:'o_program_id',那么什么应该是'value:?'。值来自存储的记录。您可以使用表单的方法
loadRecord()
加载记录。