0 0

EXT SimpleStore 3

我从数据库中取出记录按要求转换成而为数组后 最后加上该行程序var storee=new Ext.data.SimpleStore({data:dataa,fields:["id","name","organization","homepage"]});
其中dataa就是我转换后的二维数组 可是老是报错说undefined未定义或者为空 dataa我转换后的值为[[1,'aa','bb'],[2,'ss','dd']]
这是怎么回事啊 纠结搞了一下午!
问题补充:
不是的啊 和这没关系 我都试了的!
问题补充:
我如果手动定义一个二维数组 却是没有问题的 哎 纠结啊
问题补充:
ROwEN
我在var storee=new Ext.data.SimpleStore({data:dataa,fields:["id","name","organization","homepage"]});
这行程序前加了一个alert(dataa),他执行了的 也是一个二维数组了 这样应该表示他已经加载了吧 因为程序是顺序执行的嘛
问题补充:
我想问rowen你遇到这种问题是怎么解决的啊 能给个方法吗
问题补充:
<script>                                      
var date2="";
<%
                    for(addBI add:list){
%>
var date ="[" +  '"<%=add.getLmbh()%>"' + "," + '"<%=add.getLjbh()%>"'  +"," +  '"<%=add.getLjmc()%>"' +","+  '"查看BI"'  +"]" +"," ;
date2=date2+date;
<%
}
%>
var datee="["+date2+"]";
那个循环可以不用看 是用hibernate作的
问题补充:
是我不小心写错的 var dataa="["+date2+"]"; 我实在找不出什么原因 哎!谢谢你们啦
问题补充:
我把输出的东西发给大家看看 呵呵 谢谢啦 照片我以上传
问题补充:
好的 我贴代码吧 可能有点乱 我本身不是做代码的 是做数据仓库的 最近要用EXT写点东西 只有亲自出马啦 呵呵  谢谢大家啦!
<script>                                      
var date2="";
<%
for(addBI add:list){%>
var date ="[" +  '"<%=add.getLmbh()%>"' + "," + '"<%=add.getLjbh()%>"'  +"," + "," +  '"查看BI"'  +"]" +"," ;
date2=date2+date;
<%}%>

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,"");

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

});
}
</script>
问题补充:
非常感谢 大家 问题解决了!问题的答案就是JIM.JIN所说的 把函数改成
var datee=eval("["+date2+"]");这样就可以了 谢谢大家
2009年10月12日 08:58
  • 大小: 84.3 KB

15个答案 按时间排序 按投票排序

0 0

采纳的答案

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

2009年10月12日 10:35
0 0

怎么没看见你把代码谢谢到Ext.onReady()里。。

引用
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

});
}

把上面这段放到EXT里试试
Ext.onReady(function(){
     //放上面的代码
});

2009年10月12日 10:42
0 0

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

2009年10月12日 10:35
0 0

拜托,有用var dataa=Ext.decode(datae) 转成json格式吗

2009年10月12日 10:34
0 0

var datee="["+date2+"]";
将首尾的引号去掉

2009年10月12日 10:31
0 0

可以肯定,,dataa是个字符串,而不是二维数组,不然输出是个OBJECT

2009年10月12日 10:30
0 0

把页面代码都粘出来吧,我看可能你的js顺序写得有问题

2009年10月12日 10:29
0 0


<%
}
%>
var datee="["+date2+"]";



var storee=new Ext.data.SimpleStore({data:dataa,fields:["id","name","organization","homepage"]});


两处不一致

2009年10月12日 10:24
0 0

你试着输出datee变量,我怀疑这个是个字符串,而不是二维数组。
还是一句话,用firebug调试是最快的办法。

2009年10月12日 10:22
0 0

var datee="["+date2+"]";
dataa和datee不是同一个变量啊?

2009年10月12日 10:11
0 0

这个应该是dataa当时还没有定义导致的,
把你的完整代码粘出来看看

2009年10月12日 10:07
0 0

引用
顺序执行

不是吧。。EXT是异步执行的。。

2009年10月12日 09:56
0 0

引用
我如果手动定义一个二维数组 却是没有问题的 哎 纠结啊

你手动一个二维数组是在程序员中,这样dataa是个已定义好的加载进来的。
而你原先在数据库中取过来的,在SimpleStore加载的时候,这个dataa还没加载。
这个跟数组没有关系。
你报的错都是undefined,就是这个dataa没定义。也就是还没加载。。

2009年10月12日 09:49
0 0

建议在这句的前面使用firebug来观察dataa,或许它并不是你想像中的二维数组。

2009年10月12日 09:45
0 0

有4个字段,dataa里的数据却只有4列,当然错啦

2009年10月12日 09:03

相关推荐

    ExtJS Grid使用SimpleStore、多选框的方法

    代码如下:///”./vswd-ext_2.0.2.js”&gt; Ext.onReady(function(){ var data = [ [1,”wilson.fu”,10], [2,”wilson.fu2″,20], [3,”wilson.fu3″,30] ]; var sqldata = new Array() ; for(var i=0;i&lt;10;i++) { ...

    Ext.Store的获取方法

    在Ext.js中,`Ext.Store`是用来管理数据的类,它通常与各种UI组件(如Grid、ComboBox等)关联,用于存储和检索数据。然而,获取`Ext.Store`的方式并不像获取其他Ext组件那样直接,因为Store并不是一个具有可视界面的...

    Ext3.1 21款精美主题和动态换皮肤

    var themestore = new Ext.data.SimpleStore({ fields: ['Name', 'File'], data: Ext.simpledata.themes }); this.cboTheme = new Ext.form.ComboBox({ id: 'ux-startcombo-theme', store: themestore, ...

    EXT核心API详解

    37、Ext.data.SimpleStore类 ………… 34 38、Ext.data.Tree类 …………………… 34 39、Ext.data.Node类 ………………… 34 40、Ext.Action类 ……………………… 35 41、Ext.Button类 …………………… 36 42、Ext...

    ext3.*画图的例子

    var store = new Ext.data.SimpleStore({ fields: ['name', 'value'], data: [ {name: 'Category 1', value: 10}, {name: 'Category 2', value: 25}, // ... ] }); var chart = new Ext.chart.Chart({ ...

    Ext表格控件和树控件

    var store = new Ext.data.SimpleStore({ data: data, fields: ["id", "name", "organization", "homepage"] }); var grid = new Ext.grid.GridPanel({ renderTo: "hello", title: "NetJava表格测试", ...

    EXT核心API详解.doc

    32. **Ext.data.SimpleStore类**:简单的数据存储,适用于小型数据集。 33. **Ext.data.Tree类**:树形数据结构,用于表示层级关系的数据。 34. **Ext.data.Node类**:树结构中的节点,包含了节点的基本属性和操作...

    Ext中Ajax的应用

    store: new Ext.data.SimpleStore({ proxy: new Ext.data.DWRProxy({ url: 'dwr/call/plaincall/ComboBoxManager.getOptions.js' }), fields: ['option'] }), displayField: 'option', valueField: 'option'...

    EXT的用法

    在这个例子中,我们看到了EXT框架中的`onReady`函数,`SimpleStore`类,以及`ComboBox`组件的应用。 ### 2. 函数定义与调用 代码中定义了两个主要的函数:`getEmployeeByDep`和`callBusiness`(该函数实际并未在给...

    ext分页查询ext分页查询ext分页查询ext分页查询ext分页查询

    1. **数据存储(Data Store)**:ExtJS的数据存储类(如`Ext.data.Store`或`Ext.data.SimpleStore`)用于管理数据。在这个例子中,`SimpleStore`被用来填充查询下拉框的选项。数据存储通常与数据源(如RESTful API)...

    Ext-Js更换皮肤

    - **定义皮肤列表**:创建一个数据存储(`SimpleStore`),列出所有可用的皮肤及其对应的CSS文件名。 - **创建下拉列表**:使用`ComboBox`创建一个下拉列表,其数据源是之前定义的皮肤列表。 - **处理事件**:监听...

    Ext与后台数据库交互

    var store = new Ext.data.SimpleStore({ fields: ['text'], data: [['目录'], ['项目'], ['两者']] }); ``` `SimpleStore`是最基本的存储类,除此之外还有`GroupingStore`、`JsonStore`等更复杂的子类。它们...

    Ext_iconcombox

    var store = new Ext.data.SimpleStore({ fields: ['id', 'text', 'icon'], data: [ { id: '1', text: '选项1', icon: 'images/icon1.png' }, // 更多选项... ] }); var iconCombox = new Ext.form.ComboBox({...

    extjs帮助文档

    ### ExtJS核心API详解 #### 一、Ext类(第2页) - **概述**:Ext类是ExtJS的核心基础类之一,它提供了一系列用于简化DOM操作和浏览器兼容性问题的方法。...- **概述**:Ext.data.SimpleStore类提供了...

    ExtJS入门教程(超级详细)

    37、Ext.data.SimpleStore类 ………… 34 38、Ext.data.Tree类 …………………… 34 39、Ext.data.Node类 ………………… 34 40、Ext.Action类 ……………………… 35 41、Ext.Button类 …………………… 36 42、Ext...

    extjs帮助文档pdf版

    - `Ext.data.SimpleStore.add(record)`: 添加数据记录。 #### 38. Ext.data.Tree 类 (P.34) - **概述**:用于管理树形结构的数据。 - **常用方法**: - `Ext.data.Tree.load(root, callback, scope)`: 加载树数据...

    Ext开发过程中的自学笔记

    - 接着创建一个`Ext.data.SimpleStore`对象,指定字段名和数据。 - 最后,创建Combobox实例,设置store、mode(本地模式)、valueField和displayField等属性。 2. **使用后台数据创建Combobox**: - 定义一个`...

    Ext中用jxl导出全部数据和当前页数据的实现

    - 使用`Ext.data.SimpleStore`创建一个数据存储对象,并加载示例数据。 - 创建一个GridPanel,并将其与数据存储关联起来。 ```javascript var store = new Ext.data.SimpleStore({ fields: [ {name: 'company...

Global site tag (gtag.js) - Google Analytics