请问ext的PropertyGrid,如果字段名为中文与后台如何操作?

wscgd 2011-04-14 12:42:31
写了一个PropertyGrid,与后台进行交互。后台首先把列表转换为json串,返回给前台。请问如果字段名为中文,该如何操作?


ext前台代码,fields的staffName是英文,我想转换为中文

var propertyStore = new Ext.data.JsonStore({
autoLoad:true,//自动加载数据
url:'http://127.0.0.1:8080/pm/staff/staff!detail.action',
root:'props',
fields:['staffName','deptName'],
listeners: {
load:{
fn:function(store ,records,options) {
//获取propety grid组件
var propGrid = Ext.getCmp('propGrid');
//保证property grid是存在的
if(propGrid) {
//获得property grid的store数据
propGrid.setSource(store.getAt(0).data);
}
}
}
}
});
});

转换为json代码:

public static String getStaffDetail(List<Staff> staff) { //这里staff的长度为1,因为只有一个实体
String s = null;
Map<String ,Object> map = new HashMap<String ,Object>();
map.put("props", staff);
s = new JSONArray().fromObject(map).toString();
s = s.substring(1,s.length()-1);
return s;
}

转换后的json为:
{"props":[{"deptName":"A","staffName":"B"}]}
...全文
227 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
wscgd 2011-04-14
  • 打赏
  • 举报
回复
不知道我有没有表述清楚,可能我的问题比较低级,吃过饭再来看,谢谢大家!
wscgd 2011-04-14
  • 打赏
  • 举报
回复
我现在把json转了下字符串,前台换成中文,结果值无法显示。
JSON:

{"props":[{"部门名称":"A","姓名":"B"}]}


前台:

fields:['部门名称','姓名'],


而全是英文的话就可以显示:

JSON:

{"props":[{"deptName":"A","staffName":"B"}]}


前台:

fields:['deptName','staffName'],
wscgd 2011-04-14
  • 打赏
  • 举报
回复
我试着把字符串替换。
wscgd 2011-04-14
  • 打赏
  • 举报
回复
louiechong 2011-04-14
  • 打赏
  • 举报
回复
直接上张示意图
夜雨山庄 2011-04-14
  • 打赏
  • 举报
回复
fields:['staffName','deptName'],
这个定义,也从后台根据数据库里项目多少动态生成,传过来呗。
对应的PropertyGrid的定义,也一样处理。

可能还是没太理解楼主的意思,见谅。
wscgd 2011-04-14
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 louiechong 的回复:]

我在想,楼主是否没定义过列模型?

使用定义列模型,可以随意改变grid里面的字段名,不管你后台返回的表的字段名是什么,你都可以随意自定义显示。

搜索一下 Ext.grid.ColumnModel 的用法,这个能解决你的问题。
[/Quote]
的属性表格是只有两列的,左边一列是名称,相当于key,右边一列是值,相当于value;而列模型的字段名是一列的,两个不一样。
louiechong 2011-04-14
  • 打赏
  • 举报
回复
我在想,楼主是否没定义过列模型?

使用定义列模型,可以随意改变grid里面的字段名,不管你后台返回的表的字段名是什么,你都可以随意自定义显示。

搜索一下 Ext.grid.ColumnModel 的用法,这个能解决你的问题。
wscgd 2011-04-14
  • 打赏
  • 举报
回复
{"props":[{"deptName":"A","staffName":"B"}]}

这里的deptName,和staffName是从数据库读取的字段名。
wscgd 2011-04-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tennisboy0317 的回复:]

你的意思是{"props":[{"名1":"A","名2":"B"}]}这样的?
应该不会有影响,store和gridpanel相应的地方都定义成"名1","名2",好用。
[/Quote]
问题就是如何实现呢?有两个思路:
第一,PropertyGrid里每个字段一个英文名,一个中文名(我现在的写法只有一个英文名),后台代码不变
第二,PropertyGrid的字段名改为中文,把json里的英文字段也改为中文。
不知道具体的代码,求指教。
夜雨山庄 2011-04-14
  • 打赏
  • 举报
回复
你的意思是{"props":[{"名1":"A","名2":"B"}]}这样的?
应该不会有影响,store和gridpanel相应的地方都定义成"名1","名2",好用。
wscgd 2011-04-14
  • 打赏
  • 举报
回复
不能沉啊。
Re: 《 Linux磁盘与件系统管理命令 》   ---------------------------------------内容提要: 01/16)命令fdisk           :磁盘分区工具02/16)命令partprobe  :更新内核的硬盘分区表信息(即分区即刻生效)03/16)命令 tune2fs     :调整 ext2/ext3/ext4 件系统参数04/16)命令 parted       :磁盘分区工具(大小通吃)05/16)命令 mkfs          :创建Linux件系统06/16)命令 dumpe2fs :导出ext2/ext3/ext4件系统信息07/16)命令 resize2fs   :调整ext2/ext3/ext4件系统大小08/16)命令 fsck           :检查并修复Linux件系统09/16)命令 dd             :转换或复制件10/16)命令 mount       :挂载件系统11/16)命令 umount     :卸载件系统12/16)命令 df              :报告件系统磁盘空间的使用情况13/16)命令 mkswap    :创建交换分区14/16)命令 swapon     :激活交换分区15/16)命令 swapoff     :关闭交换分区16/16)命令 sync           :刷新件系统缓冲区17/17)附录                   :NFS 网络件服务器到安装;客户端的挂载 -t nfs;及新分区的权限测试  本人在教学和实战过程发现,即便是有一定运维经验的人,可能已经能够搭建一定复杂度的Linux架构,但是在来来回回的具体操作,还是体现出CLI(命令界面)功底不够扎实,甚至操作的非常‘拙’、处处露‘怯’。 对一个士兵来说,枪就是他的武器,对于一个程序员来说,各种library(工具库)就是他的武器;而对于Linux运维人员来说,无疑命令行工具CLI(命令界面)就是他们的武器;高手和小白之间的差距往往就体现在对于这些“武器”的掌握和熟练程度上。有时候一个参数就能够解决的事情,小白们可能要写一个复杂的Shell脚本才能搞定,这就是对CLI(命令界面)没有理解参悟透彻导致。 研磨每一个命令就是擦拭手的作战武器,平时不保养不理解,等到作战的时候,一定不能够将手的武器发挥到最好,所以我们要平心、静气和专注,甘坐冷板凳一段时间,才能练就一身非凡的内功! 本教程从实战出发,结合当下流行或最新的Linux(v6/7/8 版本)同时演示,将命令行结合到解决企业实战问题来,体现出教学注重实战的务实精神,希望从事或未来从事运维的同学,能够认真仔细的学完Linux核心命令的整套课程。 本课程系列将逐步推出,看看我教学的进度和您学习的步伐,孰占鳌头! 注:关于教学环境搭建,可以参考本人其它课程系列,本教学就不再赘述! 《参透 VMware 桌面级虚拟化》 《在虚拟机安装模版机(包括应用软件等)》 《SecureCRT 连接 GNS3/Linux 的安全精密工具》 

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧