数据库逐条数据取字段按数组格式保存后,做Ext表格创建数据源时总是只显示表格,不显示数据,是什么原因呢?
初学Javaweb的菜鸟一只,因BOSS要求这周用大量ExtJS技术做前台;遂学之,不甚懂.之前没用ExtJS做的程序能正常插入删除数据库数据.改ExtJS做后总是只显示...
初学Java web的菜鸟一只,因BOSS要求这周用大量ExtJS技术做前台;遂学之,不甚懂.
之前没用ExtJS做的程序能正常插入删除数据库数据.改ExtJS做后总是只显示个表格,不显示数据,请各位大大帮忙看看,指点迷津!谢过.
<script type="text/javascript">
function GridBasic() {
//1. 定义表格
var cm = new Ext.grid.ColumnModel([
{ header: '编号', dataIndex: 'sid', sortable: true },
{ header: '项目名', dataIndex: 'name' },
{ header: '成本', dataIndex: 'cost' },
{ header: '价格', dataIndex: 'price' },
{ header: '耗时', dataIndex: 'time' }
]);
//2. 创建数据源
<%
{
for(Iterator it=list.iterator();it.hasNext();){
T2 t=(T2)it.next();
%>
var data=['<%=t.getSid()%>','<%=t.getName()%>','<%=t.getCost()%>',
'<%=t.getPrice()%>','<%=t.getTime()%>'];
//3. 解析数据源
var ds = new Ext.data.Store({
proxy: new Ext.data.MemoryProxy(data),
reader: new Ext.data.ArrayReader({}, [
{ name: 'sid' }, { name: 'name' }, { name: 'cost' }, { name: 'price' } { name:'time' }
])
});
ds.load();
<%
}
}
%>
//4. 装配表格
var grid = new Ext.grid.GridPanel({
el: 'grid',
ds: ds,
cm: cm,
height:200,
width:504
});
grid.render();
}
Ext.onReady(GridBasic); //开始执行
</script>
补充:数据库里是肯定有数据的.而且之前没用Ext表格时,程序能正常存取数据库数据
如果 //创建数据源 的地方改成静态的数组,程序也能正常显示.但是牵涉到数据库就不动作了.实在想不通是我代码本身的问题还是哪些结构没搞清楚.
菜鸟一只,第一次写Ext代码,在下实在无能为力.望各路高手指点. 展开
之前没用ExtJS做的程序能正常插入删除数据库数据.改ExtJS做后总是只显示个表格,不显示数据,请各位大大帮忙看看,指点迷津!谢过.
<script type="text/javascript">
function GridBasic() {
//1. 定义表格
var cm = new Ext.grid.ColumnModel([
{ header: '编号', dataIndex: 'sid', sortable: true },
{ header: '项目名', dataIndex: 'name' },
{ header: '成本', dataIndex: 'cost' },
{ header: '价格', dataIndex: 'price' },
{ header: '耗时', dataIndex: 'time' }
]);
//2. 创建数据源
<%
{
for(Iterator it=list.iterator();it.hasNext();){
T2 t=(T2)it.next();
%>
var data=['<%=t.getSid()%>','<%=t.getName()%>','<%=t.getCost()%>',
'<%=t.getPrice()%>','<%=t.getTime()%>'];
//3. 解析数据源
var ds = new Ext.data.Store({
proxy: new Ext.data.MemoryProxy(data),
reader: new Ext.data.ArrayReader({}, [
{ name: 'sid' }, { name: 'name' }, { name: 'cost' }, { name: 'price' } { name:'time' }
])
});
ds.load();
<%
}
}
%>
//4. 装配表格
var grid = new Ext.grid.GridPanel({
el: 'grid',
ds: ds,
cm: cm,
height:200,
width:504
});
grid.render();
}
Ext.onReady(GridBasic); //开始执行
</script>
补充:数据库里是肯定有数据的.而且之前没用Ext表格时,程序能正常存取数据库数据
如果 //创建数据源 的地方改成静态的数组,程序也能正常显示.但是牵涉到数据库就不动作了.实在想不通是我代码本身的问题还是哪些结构没搞清楚.
菜鸟一只,第一次写Ext代码,在下实在无能为力.望各路高手指点. 展开
1个回答
展开全部
好像是store的数据加载有问题,读取本地数据的话,建议用以下的方式,不需要通过代理。
//从本地数组得到
var arr=[ [1, 'Bill', 'Gardener'], [2, 'Ben','Horticulturalist'] ];
var reader = new Ext.data.ArrayReader(
{id: 0},
[
{name: 'name', mapping: 1},
{name: 'occupation', mapping: 2}
]);
var store=new Ext.data.Store({
reader:reader
});
store.loadData(arr);
//从本地数组得到
var arr=[ [1, 'Bill', 'Gardener'], [2, 'Ben','Horticulturalist'] ];
var reader = new Ext.data.ArrayReader(
{id: 0},
[
{name: 'name', mapping: 1},
{name: 'occupation', mapping: 2}
]);
var store=new Ext.data.Store({
reader:reader
});
store.loadData(arr);
追问
这个问题,前几天解决了,是数组类型不对.改成二维数组就通过了.
不过还是谢谢你的回答.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询