如何Ext.Ajax.request从后台去数据加载到formpanel中的表单控件上。
时间:2011-09-07
来源:互联网
Ext.define('S3.Console.Envirrecord', {
constructor: function (dept_id, dept_desc, sensor_id, sensor_desc) {
var refrigerator_type = "";
var Model = "";
var refrigerator_brand = "";
var Energy_dissipation = "";
var Volume = "";
var refrigerator_life = "";
var repairnum = "";
var marks = "";
Ext.Ajax.request({
url: 'core/WebService.asmx/LoadEnvirrecord',
method: 'POST',
jsonData: { dept_id: dept_id, sensor_id: sensor_id },
success: function (response) {
var data = Ext.JSON.decode(response.responseText).d;
var store = new Ext.data.Store({
model: 'envirrecordmodel',
proxy: {
type: 'memory',
reader: {
type: 'json'
}
}
});
//store.load(data);
Model = store.Model;
}
});
var Panel = new Ext.form.FormPanel({
defaults: {
xtype: 'textfield',
allowBlank: false
},
items: [{
name: 'sensor_desc',
fieldLabel: '探头名称',
value: sensor_desc
}, {
name: 'dept_desc',
fieldLabel: '部门名称',
value: dept_desc
}, {
name: 'refrigerator_type',
fieldLabel: '冰箱类型',
value: refrigerator_type
}, {
name: 'Model',
fieldLabel: '型号',
value: Model
}, {
name: 'refrigerator_brand',
fieldLabel: '冰箱名称',
value: refrigerator_brand
}, {
name: 'Energy_dissipation',
fieldLabel: '耗能',
value: Energy_dissipation
}, {
name: 'Volume',
fieldLabel: '容积',
value: Volume
}, {
name: 'refrigerator_life',
fieldLabel: '使用年限',
value: refrigerator_life
}, {
name: 'repairnum',
fieldLabel: '维修次数',
value: repairnum
}, {
name: 'marks',
fieldLabel: '备注',
value: marks
}
]
});
var win = Ext.create('Ext.Window', {
title: '仓储环境' + ' 部门:' + dept_desc + '(' + dept_id + ') 探头:' + sensor_desc + '(' + sensor_id + ')',
layout: 'fit',
modal: true,
width: 500,
height: 400,
autoScroll: false,
items: Panel
});
win.show();
}
});
作者: guo779820919 发布时间: 2011-09-07
作者: guo779820919 发布时间: 2011-09-07
根据json取值 将相应的值赋值到相应的组件中就行啊
Ext.getCmp('组件id').setValue('值')
作者: fanchuanzhidu 发布时间: 2011-09-07
后台读到了数据 到前台也转化成了json
根据json取值 将相应的值赋值到相应的组件中就行啊
Ext.getCmp('组件id').setValue('值')
是否能够具体一点呀!我刚学的,不太懂!
作者: guo779820919 发布时间: 2011-09-07
JScript code
Ext.define('S3.Console.Envirrecord', { constructor : function(dept_id, dept_desc, sensor_id, sensor_desc) { var refrigerator_type = ""; var Model = ""; var refrigerator_brand = ""; var Energy_dissipation = ""; var Volume = ""; var refrigerator_life = ""; var repairnum = ""; var marks = ""; /*begin:这里定义组件*/ var Panel = new Ext.form.FormPanel({ defaults : { xtype : 'textfield', allowBlank : false }, items : [{ name : 'sensor_desc', fieldLabel : '探头名称', value : sensor_desc }, { name : 'dept_desc', fieldLabel : '部门名称', value : dept_desc }, { name : 'refrigerator_type', fieldLabel : '冰箱类型', value : refrigerator_type }, { name : 'Model', fieldLabel : '型号', value : Model }, { name : 'refrigerator_brand', fieldLabel : '冰箱名称', value : refrigerator_brand }, { name : 'Energy_dissipation', fieldLabel : '耗能', value : Energy_dissipation }, { name : 'Volume', fieldLabel : '容积', value : Volume }, { name : 'refrigerator_life', fieldLabel : '使用年限', value : refrigerator_life }, { name : 'repairnum', fieldLabel : '维修次数', value : repairnum }, { name : 'marks', fieldLabel : '备注', value : marks }] }); var win = Ext.create('Ext.Window', { title : '仓储环境' + ' 部门:' + dept_desc + '(' + dept_id + ') 探头:' + sensor_desc + '(' + sensor_id + ')', layout : 'fit', modal : true, width : 500, height : 400, autoScroll : false, items : Panel }); win.show(); /*end:这里定义组件*/ Ext.Ajax.request({ url : 'core/WebService.asmx/LoadEnvirrecord', method : 'POST', jsonData : { dept_id : dept_id, sensor_id : sensor_id }, success : function(response) { var data = Ext.JSON.decode(response.responseText).d; var store = new Ext.data.Store({ model : 'envirrecordmodel', proxy : { type : 'memory', reader : { type : 'json' } } }); // store.load(data); Model = store.Model; // ***************************************/ // 这里给上边的组件赋值 } }); } });
作者: fanchuanzhidu 发布时间: 2011-09-07
后台读到了数据 到前台也转化成了json
根据json取值 将相应的值赋值到相应的组件中就行啊
Ext.getCmp('组件id').setValue('值')
还有就是出了Ext.Ajax.request({})从后台获取的数据不久无效了吗,那刚才的Ext.getCmp('组件id').setValue('值')
要放在哪儿呢?
作者: guo779820919 发布时间: 2011-09-07
JScript code
success : function(response) { var data = Ext.JSON.decode(response.responseText).d; var json = Ext.JSON.decode(response.responseText);//这样就把后台的字符串在前台转成了json格式 {name:'我是名称','marks':'我是备注'} var store = new Ext.data.Store({ model : 'envirrecordmodel', proxy : { type : 'memory', reader : { type : 'json' } } }); // store.load(data); Model = store.Model; // ***************************************/ // 这里给上边的组件赋值 要给每一个组件加上id Ext.getCmp('备注组件的id').setValue(json.marks);//给备注组件赋值 //.....下边的组件道理和这个备注组件的一样 }
作者: fanchuanzhidu 发布时间: 2011-09-07
实际上你的代码应该这样来写
JScript code
Ext.define('S3.Console.Envirrecord', {
constructor : function(dept_id, dept_desc, sensor_id, sensor_desc)
{
var refrigerator_type = "";
var……
这样还是没有数据显示的。
作者: guo779820919 发布时间: 2011-09-07
假如你后台传回来的是"{name:'我是名称','marks':'我是备注'}"
JScript code
success : function(response)
{
var data = Ext.JSON.decode(response.responseText).d;
var json ……
我按照你的每一步走,为何还是没有数据显示呢,也不出现错误,就是没有数据显示。
作者: guo779820919 发布时间: 2011-09-07
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28