EXT显示数据问题

tjzero_sapce 2011-05-05 04:57:31
我从数据库获得了数据 是这种形式
{"code":"datadict2","id":4,"name":"数据字典2","parentId":4}
想要显示在
dataDictTabPanel = Ext.extend(Ext.FormPanel,{
//定义构造器
constructor: function(){
var dataDictId = new Ext.form.TextField({
id: 'dataDictId',
name : 'dataDictId',
fieldLabel: '数据字典ID',
anchor : '90%'
});
var dataDictName = new Ext.form.TextField({
id: 'dataDictName',
name : 'dataDictName',
fieldLabel: '数据字典名称',
anchor : '90%'
});
var dataDictCode = new Ext.form.TextField({
id: 'dataDictCode',
name : 'dataDictCode',
fieldLabel: '数据字典编码',
anchor : '90%'
});
dataDictTabPanel.superclass.constructor.call(this,{
labelAlign: "right",
buttonAlign: "right",
frame: true,
bodyStyle: "padding:0 0",
autoScroll: true,
items: [{
layout: "column",
items: [{
columnWidth: 1,
layout: 'form',
defaultType: 'textfield',
items: [dataDictId, dataDictName, dataDictCode]
}]
}]
});

}
});


原本用的是这种方式
var json = response.responseText;
var json = eval("("+json+")");
Ext.getCmp('dataDictId').setValue(json.id);
Ext.getCmp('dataDictName').setValue(json.name);
Ext.getCmp('dataDictCode').setValue(json.code);


但是涉及到重用的问题 有bug,想要使用
var record = this.lawExpMaintenanceGridPanel.getSelectionModel().getSelected();
this.showWin("edit");
//表单加载数据
this.lawExpMaintenanceFp.form.loadRecord(record);

这种record形式 但是不知道怎么把从转换成 record 的 求大侠们帮帮忙 真的很急
...全文
107 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zn85600301 2011-05-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 tjzero_sapce 的回复:]

引用 2 楼 zn85600301 的回复:
不要用getCmp
用 form.findField('文本框的name')

你这是做修改? 一般是从新请求次数据库
尽量保证数据是最新的 以免覆盖别人的修改

如果你们的业务没这用要求 楼主上的方法应该足够了

我这样写了报错说 对象不支持此属性或方法JScript code
DictInfoPanel = function(……
[/Quote]
findField 是针对form容器的 你可以尝试panel.getForm().findField
tjzero_sapce 2011-05-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 zn85600301 的回复:]
不要用getCmp
用 form.findField('文本框的name')

你这是做修改? 一般是从新请求次数据库
尽量保证数据是最新的 以免覆盖别人的修改

如果你们的业务没这用要求 楼主上的方法应该足够了
[/Quote]
我这样写了报错说 对象不支持此属性或方法
DictInfoPanel = function(node, grid){
//获得右侧tab对象
Ext.Ajax.request({
waitMsg : '读取数据。。。',
url : "/datadict/DataDictServlet?parameter="+node.id,
method : "GET",
callback : function(args, success, response) {
var json = response.responseText;
var json = eval("("+json+")");
//Ext.getCmp('dataDictName').setValue(json.name);
//Ext.getCmp('dataDictCode').setValue(json.code);
if(success){
var panel = Ext.getCmp("dataDictCenterPanel");
panel.findField('dataDictName').setValue(json.name);
panel.findField('dataDictCode').setValue(json.code);
var tab = panel.findById(node.id);
if(!tab){
tab = panel.add({
id: node.id,
xtype:"panel",
title:node.text,
closable:true,
layout:"fit",
items:[grid]
});
}
panel.setActiveTab(tab);
}
},
scope: this
});
}
tjzero_sapce 2011-05-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 caijixu01 的回复:]
Ext.data.Record是一个设定了内部数据类型的对象.可以用其create方法创建Record,如下:

var Ext_record=Ext.data.Record.create({
{name:'name',type:'string'},
{name:'sex',type:'int'}
});
[/Quote]
我这样写的,页面无法显示,放在方法外面和里面页面都无法显示
DictInfoPanel = function(node, grid){
var initRecord = Ext.data.Record.create({
{name:'dataDictName',type:'string'},
{name:'dataDictCode',type:'string'}
});
//获得右侧tab对象
Ext.Ajax.request({

url : "/datadict/DataDictServlet?parameter="+node.id,
method : "GET",
callback : function(args, success, response) {
var json = response.responseText;
var json = eval("("+json+")");

if(success){
var panel = Ext.getCmp("dataDictCenterPanel");
panel.findField('dataDictName');
panel.findField('dataDictCode');

var tab = panel.findById(node.id);
if(!tab){
tab = panel.add({
id: node.id,
xtype:"panel",
title:node.text,
closable:true,
layout:"fit",
items:[grid]
});
}
panel.setActiveTab(tab);
}
},
scope: this
});
}
tjzero_sapce 2011-05-06
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zn85600301 的回复:]
dataDictTabPanel这个是你 放文本框的panel吧

你怎么去得到dataDictCenterPanel?
[/Quote]这样好了 您在这个帖子回复下吧 是同样的问题 那个帖子的分页给您
http://topic.csdn.net/u/20110504/16/9e10f3c0-09dd-48cc-97eb-6463d3f4a1fb.html
DictInfoPanel = function(node, grid){
//获得右侧tab对象
Ext.Ajax.request({
waitMsg : '读取数据。。。',
url : "/datadict/DataDictServlet?parameter="+node.id,
method : "GET",
callback : function(args, success, response) {
//var json = JSON.parse(response.responseText);
var json = response.responseText;
var json = eval("("+json+")");
grid.getForm().findField('dataDictName').setValue(json.name);
grid.getForm().findField('dataDictCode').setValue(json.code);
//Ext.getCmp('dataDictName').setValue(json.name);
//Ext.getCmp('dataDictCode').setValue(json.code);
if(success){
var panel = Ext.getCmp("dataDictCenterPanel");
var tab = panel.findById(node.id);
if(!tab){
tab = panel.add({
id: node.id,
xtype:"panel",
title:node.text,
closable:true,
layout:"fit",
items:[grid]
});
}
panel.setActiveTab(tab);
}
},
scope: this
});
}
tjzero_sapce 2011-05-06
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zn85600301 的回复:]
dataDictTabPanel这个是你 放文本框的panel吧

你怎么去得到dataDictCenterPanel?
[/Quote]
谢谢这位大哥 我这么改了 终于
zn85600301 2011-05-06
  • 打赏
  • 举报
回复
dataDictTabPanel这个是你 放文本框的panel吧

你怎么去得到dataDictCenterPanel?

tjzero_sapce 2011-05-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zn85600301 的回复:]
引用 5 楼 tjzero_sapce 的回复:

引用 2 楼 zn85600301 的回复:
不要用getCmp
用 form.findField('文本框的name')

你这是做修改? 一般是从新请求次数据库
尽量保证数据是最新的 以免覆盖别人的修改

如果你们的业务没这用要求 楼主上的方法应该足够了

我这样写了报错说 对象不支持此属性或方法JScript code……
[/Quote]
郁闷 报错信息还是一样的
DictInfoPanel = function(node, grid){
//获得右侧tab对象
Ext.Ajax.request({
waitMsg : '读取数据。。。',
url : "/datadict/DataDictServlet?parameter="+node.id,
method : "GET",
callback : function(args, success, response) {
//var json = JSON.parse(response.responseText);
var json = response.responseText;
var json = eval("("+json+")");
//Ext.getCmp('dataDictName').setValue(json.name);
//Ext.getCmp('dataDictCode').setValue(json.code);
if(success){
var panel = Ext.getCmp("dataDictCenterPanel");
panel.getForm().findField('dataDictName').setValue(json.name);
panel.getForm().findField('dataDictCode').setValue(json.code);
var tab = panel.findById(node.id);
if(!tab){
tab = panel.add({
id: node.id,
xtype:"panel",
title:node.text,
closable:true,
layout:"fit",
items:[grid]
});
}
panel.setActiveTab(tab);
}
},
scope: this
});
}
WoodLikeWater 2011-05-05
  • 打赏
  • 举报
回复
record.set("字段",value);
zn85600301 2011-05-05
  • 打赏
  • 举报
回复
不要用getCmp
用 form.findField('文本框的name')

你这是做修改? 一般是从新请求次数据库
尽量保证数据是最新的 以免覆盖别人的修改

如果你们的业务没这用要求 楼主上的方法应该足够了
菜继续 2011-05-05
  • 打赏
  • 举报
回复
Ext.data.Record是一个设定了内部数据类型的对象.可以用其create方法创建Record,如下:

var Ext_record=Ext.data.Record.create({
{name:'name',type:'string'},
{name:'sex',type:'int'}
});
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 的安全精密工具》 

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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