-------------------JS拼接和分割方法-----------------------
本帖最后由 wy150150150 于 2012-12-13 23:23:42 编辑
字段
--------------------------------
ID NAME SEX
1001 abc m
1002 cde f
1003 def m
----------------------------------------
前台用EXT!
(一)
比如说:如上,把添加的内容放在GridPanel里!需要用JS把每条数据取出来,转换成格式
String str = "1001/abc/m, 1002/cde/f, 1003/def/m";
有没有通用的JS方法做拼接,我需要带到formPanel里的隐藏域里
(二)
有没有通用的JS分割方法, 需要在编辑的时候异步提交到后台, 返回的格式是 String str = "1001/abc/m, 1002/cde/f, 1003/def/m"; 需要能够准确的找到数据分割后传到编辑窗口中
例如在页面上的显示结果应该是如下:
--------------------------
ID:
1003 NAME :
def SEX:
m
------解决方案-------------------- 用数组处理不行么.
------解决方案-------------------- 做成两个split。。函数。。一个是豆号一个是斜杠。。代码稍后贴上
------解决方案-------------------- 不过你ext数据的格式是?
------解决方案-------------------- 数据基本格式都没有。。怎么转换。
------解决方案-------------------- 既然你都用gridPanel了。就后台组装一个json过来让ext自动解析就好了,
你这样的话只能用2个split解析数据,然后往store里面一条一条加?
------解决方案-------------------- 推荐你使用json,我都是用json写的,数据传输内容自定义、格式自定义,想怎么整就怎么整。
------解决方案-------------------- 为啥子不用json数据呢?
------解决方案-------------------- 引用: 7楼-- 貌似你应该有实践经验,而且应该玩过Ext. 求代码演示!
我先确定前后台之间的联系,以更新数据库为例,后台访问数据库执行语句为
update {table} set {f1} = {v1}, {f2} = {v2}, …… where {kf1} = {kv1}, {kf2} = {kv2}, ……
所以后台需要知道的信息是当前更新操作的目标表、字段和记录定位字段及参数。
这个不一定适应于你的工程。因为我的工程是内部使用,外网访问不到,对于工程的保密性或者安全性要求不是那么高,而数据处理又很多,所以很多时候我把部分数据库信息暴露到了前台代码中,才出现了很多通式,降低了后台复杂度和程序修改可能性。比如我的数据源读取方式就以数据库字段为name,即Grid的column的dataIndex。
以更新数据库为例,上面那个语句就是它的通式,那么不管前台需要更新哪个表、哪个字段,只要它将对应数据传递到后台,后台会执行相应数据库访问操作,所以前台传递到后台的数据格式我定义为:
{
table :'table',
fields :[f1,f2,……],
values :[[v01,v02,……],[v11,v12,……]],
keys :[ke,k2,……],
keyValues :[[kv01,kv02,……],[kv11,kv12,……]]
}
Ext的Store,有一个方法getModifiedRecords,用于获取修改过的记录,遍历这个记录,根据数据源配置可以生成上面格式的数据。再把整个数据(一个对象)转为json型字符串数据,后台接受到参数后解析为JSONObjcet,然后经过处理生成对应的sql语句,然后访问数据库。
可以看得出来,所有数据格式和模型都可以自己定义,喜欢怎么弄怎么弄,类似我的这个格式
1.table规定了更新那个表;
2.fields规定了更新的字段;
3.values是个二维数组,第一维内的每个元素对应更新一条记录;
4.key和keyValues规定了更新时的记录定位。
数据联系: