[GT-Grid] GT-GRID form查询结果显示时的loadurl写法

swiftly_008 2008-09-03
刚接触fins的GT-Grid,觉得很好。
初步看了下载包中提供的例子,大概的功能都会用了,但有一点现在没弄明白:
如果我要根据输入的查询条件查询结果,然后返回到grid显示,那我的loadURL应该怎么写?一定是固定格式吗?
feohoo 2008-09-05

可以是动态的,但是呢,对于GT-GRID来说的话,他是在页面加载完成后再执行的,这样的情况的话你可以间接的处理,因为你想动态的连接一个URL就要重新执行这个GT-GRID,你把GT-GRID的代码写在一个function中然后重新执行这个function,但是这样的问题呢?就是你开始执行了一个这样的函数了,没有办法(我没解决)删除已经渲染的VIEW ,再次执行的时候又多一个渲染的VIEW
========================================================================

 要不就把loadUrl保存在session中,java为例,你提交你需要的动态url去服务器端,然后保存在session中,加载页面的时候在iframe中刷新,这样就加载进了你的动态URL,这样的不爽就是不怎么WEB2.0,算旁门左道了

pollipop 2008-10-10
嘿嘿,这个问题可以这样解决:在gridConfig中添加一个函数,增加参数的绑定,然后佢屋企段就去解析parameters吧!
//添加过滤的参数
		beforeLoad : function(reqParam , grid ) {
			reqParam.parameters = {"where":"WHERE (NEXTGWH = ? OR NEXTGWH = '0-01') AND ( SFWC = ? ) order by srrq" , "objects":[{"value":"<%=gwh%>" , "type":"string" },{"value":"0" , "type":"string"}] } ;
			reqParam.columnInfo = []; //不提交Column的信息到服务器端
		},
yuandghn 2008-10-10
我的解决方法是,loadURL固定不用变,直接调用GT.$grid('gridId').query(param),其中param为查询条件组成的一个对象,其格式为:
var param={
   userName: name,
   password: pwd,
},
然后在Server端直接从request中取userName和password即可,后面怎么做就不用我多说了。
需要说明一下,我用的是Ext的TextField,但这无关紧要,只要能获得name和pwd的值即可,把这两个值写死了行。

另外,多加一句,上楼的方法我没去验证,reqParam传到后台后是一个Json串,你还得找工具去解析其中的内容,当然,这也不难。
yuandghn 2008-10-10
哦,抱歉!在password: pwd后面多加了个逗号,手误。
feohoo 2008-10-11
在对GT不熟悉的情况下回了一楼上面的问题,现在回头看的时候真是汗颜
对于楼上对前台传递数据去后台的JSON的解析我的看法呢
首先,一个项目中确定开发方向和模式后,就得指定对应的传递数据格式
假设:
确定是一个web2.0的企业应用,那么数据交互格式JSON是难免的,要做的是在客户端和服务器进行数据接口,客户端一个方法根据表单(形式表单)提取参数,指定对应的JSON,程序员只需指定发送响应的服务端URL就OK了,服务器端呢,一个方法拦截数据格式,包装成对应的OBJECT,当然使用泛型后出来的就是我们需要的VO OR LIST了,这样,我们不需要关注一些细节,我们只需要在业务逻辑方面实行OO编程就好了。
自己的一点看法,还望指正
yuandghn 2008-10-13
我喜欢简单直接快速有效的方法。
GT-GRID的loadURL一般都是固定的(专grid专用),在gridConfig中
直接设定即可。
参数直接取各控件当前值。
GT-GRID的JSON串有自己的格式:
{
action: '',
pageInfo: {

},
sortInfo: [
{

}
],
filterInfo: [
{

}
]
}
request.getParameter("_gt_json")可取得前台传到后台的
JSON串,然后对它进行解析,get出其中的元素值。
执行查询操作。
将查询结果(object,List等)利用工具转换成JSON串
out到前台。
如果查询结果是从DB中SQL出来的,直接拼接成JSON串发送。
Global site tag (gtag.js) - Google Analytics