本例将要使用两种方式,为表单填充数据,这两种方式分别是:
1、使用数据模型为表单填充数据
2、使用json数据给表单填充数据
下面是程序执行的效果图:
下面是程序的代码:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <!-- 下面是三个必须引入的文件 --> <link rel="stylesheet" type="text/css" href="../../build/packages/ext-theme-neptune/build/resources/ext-theme-neptune-all.css"> <script src="../../build/ext-all.js"></script> <script src="../../build/packages/ext-theme-neptune/build/ext-theme-neptune.js"></script> <style type="text/css"> *{ font-family: '微软雅黑'; } </style> <script type="text/javascript"> Ext.onReady(function(){ var form = new Ext.form.Panel({ title: 'test form layout', layout: 'form', width: 500, height: 250, margin: 20, renderTo: 'form', bodyPadding: 10, autoScroll: true, frame: true, defaultType: 'textfield', fieldDefaults: { labelWidth: 40, labelSeparator: ': ', labelAlign: 'left', flex: 1, margin: 2 }, defaults: { anchor: '100%' }, items: [{ xtype: 'container', layout: 'hbox', items: [{ fieldLabel: '姓名', name: 'name', xtype: 'textfield' }, { fieldLabel: '性别', name: 'sex', xtype: 'textfield' }] }, { xtype: 'container', layout: 'hbox', items: [{ fieldLabel: '年龄', name: 'age', xtype: 'textfield' }, { fieldLabel: '电话', name: 'phone', xtype: 'textfield' }] }, { xtype: 'container', layout: 'hbox', items: [{ xtype: 'textareafield', name: 'remark', fieldLabel: '备注', height: 70 }] }], buttons: [{ text: '提交' }] }); //定义数据模型 Ext.define('MyApp.model.User', { extend: 'Ext.data.Model', fields: ['name', 'sex', 'age', 'phone', 'remark'] }); //表单中要填充的数据 var userData = Ext.create('MyApp.model.User', { name: 'Jack', sex: 'male', age: 23, phone: '21387413', remark: '骚年来一发' }); //这是使用数据模型填充表单的方法,需要定义数据模型 form.loadRecord(userData); /**这是使用json数据填充表单的方式,不需要定义数据模型 var data = { name: 'Jack', sex: 'male', age: 23, phone: '12341234', remark: 'Hello World' } form.getForm().setValues(data); */ }); </script> </head> <body> <div id="form"></div> </body> </html>