读书人

Ext.form.FormPanel 接收 JSON 数据,该

发布时间: 2012-03-21 13:33:15 作者: rapoo

Ext.form.FormPanel 接收 JSON 数据
我要实现的功能是 在双击grid里面的行后 获取该行的ID 然后把ID传到后台service层做处理, 返回该行数据
项目采用 spring+hibernate+ExtJS+DWR 实现

以前做的时候 我在双击grid行的时候,传递record 执行以下方法,

JScript code
function operate(record){        myForm.getForm().loadRecord(record)        myWindow.show();    };


这样是很简单, 但是如果我在form里面有复选框 就无法绑定, 所以我选择后者, 与后台service层交互
这个时候 我在双击grid里面行的时候, 就传递id 执行以下方法,
JScript code
function operate(personId){        myForm.getForm().load({            url: myPerson.findById(personId)        });        myWindow.show();    };

后台findById 如下
Java code
public void findById(Long id, HttpServletResponse response) {        Person person = personDAO.findById(id);        List list = new ArrayList();        list.add(person);        JSONObject job = new JSONObject();        job.put("success", true);        job.put("person", list);        try {            System.out.println(job.toString());            response.getWriter().print(job.toString());        } catch (IOException e) {            // TODO Auto-generated catch block            System.out.println("ok1");            e.printStackTrace();        }    }


后台进去了 System.out.println(job.toString()); 打印有值 值为
{"person":[{"sex":"1","age":"25","hobby":"1,3","personId":1001,"personName":"Damon"}],"success":true}

我的formpanel 是这样写的
JScript code
var myForm = new Ext.form.FormPanel({        width: 300,        bodyStyle: 'padding:5px 5px 0',        frame: true,        reader: new Ext.data.JsonReader({            successProperty: 'success',            root: 'person'        },['personId','personName','sex','age','hobby']),        items: [            {                fieldLabel:'PERSONID',                xtype:'textfield',                readOnly:true,                name:'personId',                id:'personId',                readOnly: true            }。。。。。。。



后面部分我省略了, 结果取不到值, 弄了半天没弄出来, 请各位帮帮我, 谢谢




[解决办法]
“但是如果我在form里面有复选框 就无法绑定,”。。。。。

你点击的是Grid,跟这个form有什么关系。你现在用了几个pannel,是一个GridPanel和一个formPanel吗
[解决办法]
知不知道你自己在说什么啊?


数据是 store的部分 跟grid 和 form毫无关系的

读书人网 >JavaScript

热点推荐