iteye_8232 2009-10-12 08:58
浏览 275
已采纳

EXT SimpleStore

我从数据库中取出记录按要求转换成而为数组后 最后加上该行程序var storee=new Ext.data.SimpleStore({data:dataa,fields:["id","name","organization","homepage"]});
其中dataa就是我转换后的二维数组 可是老是报错说undefined未定义或者为空 dataa我转换后的值为[[1,'aa','bb'],[2,'ss','dd']]
这是怎么回事啊 纠结搞了一下午!
[b]问题补充:[/b]
不是的啊 和这没关系 我都试了的!
[b]问题补充:[/b]
我如果手动定义一个二维数组 却是没有问题的 哎 纠结啊
[b]问题补充:[/b]
ROwEN
我在var storee=new Ext.data.SimpleStore({data:dataa,fields:["id","name","organization","homepage"]});
这行程序前加了一个alert(dataa),他执行了的 也是一个二维数组了 这样应该表示他已经加载了吧 因为程序是顺序执行的嘛
[b]问题补充:[/b]
我想问rowen你遇到这种问题是怎么解决的啊 能给个方法吗
[b]问题补充:[/b]

var date2=""; <% for(addBI add:list){ %> var date ="[" + '"<%=add.getLmbh()%>"' + "," + '"<%=add.getLjbh()%>"' +"," + '"<%=add.getLjmc()%>"' +","+ '"查看BI"' +"]" +"," ; date2=date2+date; <% } %> var datee="["+date2+"]"; 那个循环可以不用看 是用hibernate作的 [b]问题补充:[/b] 是我不小心写错的 var dataa="["+date2+"]"; 我实在找不出什么原因 哎!谢谢你们啦 [b]问题补充:[/b] 我把输出的东西发给大家看看 呵呵 谢谢啦 照片我以上传 [b]问题补充:[/b] 好的 我贴代码吧 可能有点乱 我本身不是做代码的 是做数据仓库的 最近要用EXT写点东西 只有亲自出马啦 呵呵 谢谢大家啦! <script> var date2=""; <% for(addBI add:list){%> var date ="[" + '"<%=add.getLmbh()%>"' + "," + '"<%=add.getLjbh()%>"' +"," + "," + '"查看BI"' +"]" +"," ; date2=date2+date; <%}%> [color=red]function replacePos(strObj, pos, replacetext) { var str = strObj.substr(0, pos-1) + replacetext + strObj.substring(pos, strObj.length); return str; }//这个函数是处理数据库中取出数据最后一个逗号的 不用管 date2 = replacePos(date2, date2.length,"");[/color] var datee="["+date2+"]"; aaa();//把表格展现放在函数里面,调用该函数 function aaa(){ var dataa=datee alert(datee); var storee=new Ext.data.SimpleStore({data:dataa,fields:["lmbh","ljbh","ljmc"]});//转换成EXT支持的数据类型 alert("aaaa");//程序到这正好就不会执行了!如果换成手动定义的数组则会执行以下代码! var grid = new Ext.grid.GridPanel({ //创建一个表格 renderTo:"BiManage", title:"门户项目开发团队", height:150, width:600, columns:[{header:"栏目编号",dataIndex:"lmbh",sortable:true}, {header:"链接编号",dataIndex:"ljbh",sortable:true}, {header:"链接名称",dataIndex:"ljmc"},{header:"查看BI",dataIndex:"lookBi"}], store:storee, autoExpandColumn:2 }); }

[b]问题补充:[/b]
非常感谢 大家 问题解决了!问题的答案就是JIM.JIN所说的 把函数改成
var datee=eval("["+date2+"]");这样就可以了 谢谢大家

  • 写回答

15条回答 默认 最新

  • JimJin 2009-10-12 10:35
    关注

    var dataa=eval("["+date2+"]"); 试试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(14条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器