GWT-EXT的FormPanel和GridPanel
这几天我是边学边用,其效率真是苦不堪言啊!每天都有新的问题,百度基本上都搜不到有用的东西,Google搜出来的都是老外的网站,而且也都很少有针对性的问题解决方案。没办法,时而百度,时而Google,最后还是觉得官方的API文档和论坛(http://www.gwt-ext.com/forum)比较有用。

GridPanel现在要加载数据进来,官方给出的例子中使用的是ScriptTagProxy进行数据代理的,API文档对其描述很长很长(后来才发现的),文档中说如果要调用远程域服务器中的数据的话建议使用ScriptTagProxy,如果是调用本地域服务器的数据的话建议使用HttpProxy,并且给出了返回数据的格式样例,这个格式是JSON格式,而API文档中对HttpProxy的描述却要求返回的是XML格式,两个怎么矛盾了?而且我试了HttpProxy,发现根本没法用,用于分页控制的start和limit参数都没了。
可是我换回ScriptTagProxy并调用自己的服务器端时也不行,我打开官方提供的那个数据源http://extjs.com/forum/topics-browse-remote.php,按照那个格式输出也同样不行,数据源的URL改成官方的就又好了,我直接就郁闷了…我想了下,是不是ScriptTagProxy在访问URL获取数据的时候带什么参数了?根据参数有选择的返回数据格式?于是将request.getQueryString()输出看了一下,其值为:start=0&limit=15&_dc=1236763663074&callback=stcCallback1001
并不是我想象中只有start和limit,于是我把这些参数拼接到官方的那个URL之后,发现其返回的值格式是这样:
stcCallback1001(JSON)
晕倒…赶紧查API文档(之前感觉这里的描述长就没多看),原来需要在Server端取出callback这个参数,然后用该参数将JSON包含起来并输出。ScriptTagProxy会读取被callback括起来的内容,而且每次请求时_dc和callback的值都是不一样的,而_dc这个参数具体干什么用“好像没写”-_-!
文档中给出的样例:
boolean scriptTag = false; String cb = request.getParameter("callback"); if (cb != null) { scriptTag = true; response.setContentType("text/javascript"); } else { response.setContentType("application/x-json"); } Writer out = response.getWriter(); if (scriptTag) { out.write(cb + "("); } out.print(dataBlock.toJsonString()); if (scriptTag) { out.write(");"); }
现在要对GridPanel中的数据在一个FormPanel中进行编辑修改,这就要将GridPanel选中行的数据添加到FormPanel中去,且要将FormPanel放进一个Window中并弹出来。一句editForm.getForm().loadRecord(grid.getSelectionModel().getSelected())即可,可是编辑窗是弹出来了,但是里面却没有选中的那行数据,API文档中对此loadRecord()方法的描述是这样的:
Loads a Record into this form. The name of the Fields in the RecordDef must match the names of the Fields in the From.
可是我的GridPanel中各列定义的name属性和FormPanel中定义的都一样啊,怎么还是不行呢?就这一个问题让我想了好几个小时o(︶︿︶)o唉,突然间想起来了点什么,改动了一下位置就好了。
editWin.add(editForm);
editWin.show();
editForm.getForm().loadRecord(grid.getSelectionModel().getSelected());
原先我是先loadRecord()然后再调用show()方法的,结果调整了一下顺序就好了,具体为什么必须先show()我就不知道了。
现在的问题是,如何显示当前系统时间,以及将模糊查询的结果在GridPanel中显示出来,APIing…
除非另有声明,本站遵循【署名-非商业性使用-相同方式共享 3.0 共享协议】授权。
转载原创文章请注明,转载自:Neeke[http://www.ineeke.com]
本文链接: http://www.ineeke.com/archives/gwt-ext-formpanelandgridpanel/

你的博客很不错,我做了一个将1000个博客链接拼成一幅大图的博客拼图网,其中就收录了你的博客,欢迎你来找找看,也欢迎交换链接。我的博客,面谱 http://www.mianpu1000.com
请问Gwt-Ext跟平常的EXT有啥区别?EXT有好几个版本吗?没仔细研究过,看着界面蛮好看的,还打算靠它来打理后台呢,我的脚本能力老差劲了,看着你耍的这么累,俺都不敢耍咧