lijiahuilijiahui
2009-10-13 17:00 阅读 281

EXT 分页

分页代码我已经写好了 但是为什么表格上还是空值啊 分页的工具栏也出来啦
主页代码如下
Ext.onReady(
function(){
[color=red]var storee=new Ext.data.JsonStore({
fields:["lmbh","ljbh","ljmc"],
proxy:new Ext.data.HttpProxy({url:'bbar.jsp'}),
reader:new Ext.data.JsonReader({
totalProperty:'totalProperty',
id:'JsonStore',
root:'root'},[{name:'lmbh'},{name:'ljbh'},{name:'ljmc'}]
)
});//[/color]转换成EXT支持的数据类型

var grid = new Ext.grid.GridPanel({ //创建一个表格
renderTo:"hello",
title:"广西门户项目BI管理模块",
height:400,
width:600,
[color=red]bbar:new Ext.PagingToolbar({
pageSize:10,
store:storee,
displayInfo:true,
displayMsg:'显示第{0}条到第{1}条记录,一共两条',
emptyMsg:"没有记录"
}),[/color]
columns:[
{header:"栏目编号",dataIndex:"lmbh",sortable:true},
{header:"链接编号",dataIndex:"ljbh",sortable:true},
{header:"链接名称",dataIndex:"ljmc"}
],
[color=red]store:storee,
});
storee.load({params:{start:0,limit:10}});[/color]

});

bbar.jsp代码如下
int start=Integer.parseInt(request.getParameter("start"));
int limit=Integer.parseInt(request.getParameter("limit"));
treeDao dao=new treeDao();
List list=dao.queryAllBI1(start,limit);

String json="{totalProperty:50,root:[";
int i=0;
for (addBI bi:list){
json+="{lmbh:"+ bi.getLmbh() +","+"ljbh:"+bi.getLjbh()+","+"ljmc:"+"\""+bi.getLjmc()+"\""+"}";
i=i+1;
if(i<start+limit){json+=",";}}
json+="]}";
response.getWriter().write(json);
谢谢大家啦!运行出来的图我以上传
[b]问题补充:[/b]
打印出来了的 我已经看了的
[b]问题补充:[/b]
callback100000([{id:1, name:'name'}]) 这个能在详细点吗 写在什么地方 还有那个10000是什么意思 谢谢 我是初学者
[b]问题补充:[/b]
json的格式我看了很多次 应该是没问题的 我把我的格式写出来 我的格式是这样的
{totalProperty:50,root:[{lmbh:1,ljmh:1,ljmc:"ddddd"},{lmbh:11,ljmh:1,ljmc:"dfg"}]}
[b]问题补充:[/b]
哎 怎么没人回答了啊 好郁闷啊 这个问题又搞了一下午
[b]问题补充:[/b]
我试试 谢谢大家
[b]问题补充:[/b]
stcCallback1001({totalProperty:50,root:[{lmbh:1,ljbh:1,ljmc:"ddddd"},{lmbh:11,ljbh:1,ljmc:"dfg"}]})

这句话是什么意思 有点看不懂啊 应该不是这样写的吧
[b]问题补充:[/b]
我都试过了 还是不行!Rowen说的:
你把JSON的key:value都加上""试试。。
以前试别人代码的时候,看似没问题,不过加了""反而可以。。

这句话是什么意思 能再详细点吗 我想试试 现在只要是有方法 我就会去尝试啊
[b]问题补充:[/b]
哎 也试过啦!还是不行 我就纳闷了 咋这么烦呢!三天了!
[b]问题补充:[/b]
现在的结果是很奇怪 好像没错误了 结果是表格上已经显示没有记录这几个字了!是不是因为还没有取到JSON吧
[b]问题补充:[/b]
我试了你说的方法啦 是0!哎 但是后台打印JSON却是有值的
[b]问题补充:[/b]
jim.jin 我用ScriptTagProxy 这个方法 他老是报错 说缺少":"这个符号
代码是:
var storee=new Ext.data.JsonStore({
fields:["lmbh","ljbh","ljmc"],

[color=red]proxy:new Ext.data.ScriptTagProxy({url:'bbar.jsp'}),[/color]
reader:new Ext.data.JsonReader({

totalProperty:'totalProperty',

root:'root'
},[{name:'lmbh',mapping:0},{name:'ljbh',mapping:1},{name:'ljmc',mapping:2}])
});

很奇怪 如果我把那句话换成proxy:new Ext.data.HttpProxy({url:'bbar.jsp'}) 则不会报这样的错啦 我不知道为什么
[b]问题补充:[/b]
jim。jin
你说的格式 我都试了的 而且我都获得callback的数据了 已经连接上去了 但是就是有错误!
哎 out.print()我也试啦 现在连记录为空都不显示了!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

17条回答 默认 最新

  • 已采纳
    iteye_20589 iteye_20589 2009-10-14 16:48

    把[code="java"]var storee=new Ext.data.JsonStore({
    fields:["lmbh","ljbh","ljmc"],
    proxy:new Ext.data.HttpProxy({url:'bbar.jsp'}),
    reader:new Ext.data.JsonReader({
    totalProperty:'totalProperty',
    id:'JsonStore',
    root:'root'},[{name:'lmbh'},{name:'ljbh'},{name:'ljmc'}]
    )
    });[/code]
    改成
    [code="java"]var storee=new Ext.data.JsonStore({
    fields:["lmbh","ljbh","ljmc"],
    url:'bbar.jsp',
    totalProperty:'totalProperty',

    root:'root'
    })[/code]
    试试

    点赞 评论 复制链接分享
  • iteye_20589 iteye_20589 2009-10-13 17:03

    你用firebug看一下有没打印出json来...

    点赞 评论 复制链接分享
  • iteye_20589 iteye_20589 2009-10-13 17:06

    另外你用了JsonStore就直接
    var storee=new Ext.data.JsonStore({
    url:'',
    root:'',
    totalProperty:'',
    fields:...
    })

    点赞 评论 复制链接分享
  • JimJin JimJin 2009-10-13 17:06

    Ext需要带callback json,
    返回的json要像: callback100000([{id:1, name:'name'}])

    点赞 评论 复制链接分享
  • JimJin JimJin 2009-10-13 17:10

    修正下:
    应该是这样:
    stcCallback1001({total: 0, items: [{id:1, name:'name'},{id:2, name:'name2'}]})

    ext 会传参数 &callback=stcCallback1001 到服务器

    点赞 评论 复制链接分享
  • iteye_20589 iteye_20589 2009-10-13 17:12

    你看一下json的格式等有没问题。。。

    点赞 评论 复制链接分享
  • iteye_20589 iteye_20589 2009-10-13 19:11

    你把JSON的key:value都加上""试试。。
    以前试别人代码的时候,看似没问题,不过加了""反而可以。。

    点赞 评论 复制链接分享
  • JimJin JimJin 2009-10-13 22:39
      Ext.onReady( 
        var storee=new Ext.data.JsonStore({ 
          fields:["lmbh","ljbh","ljmc"], 
          [color=red]//proxy:new Ext.data.HttpProxy({url:'bbar.jsp'}), [/color]
          proxy:new Ext.data.ScriptTagProxy({url:'test.json'}), //我这里用test.json 文件来测试 你需要把服务端该为下面的JSON样式
          [color=red]//reader:new Ext.data.JsonReader({ [/color]
            totalProperty:'totalProperty', 
            id:'JsonStore', 
            root:'root'[color=red]//},[{name:'lmbh'},{name:'ljbh'},{name:'ljmc'}]) [/color]
        });//转换成EXT支持的数据类型 
    
        var grid = new Ext.grid.GridPanel({     //创建一个表格 
          renderTo:"hello", 
          title:"广西门户项目BI管理模块", 
          height:400, 
          width:600, 
          bbar:new Ext.PagingToolbar({ 
            pageSize:10, 
            store:storee, 
            displayInfo:true, 
            displayMsg:'显示第{0}条到第{1}条记录,一共两条', 
            emptyMsg:"没有记录" 
          }),   
          columns:[ 
          {header:"栏目编号",dataIndex:"lmbh",sortable:true}, 
          {header:"链接编号",dataIndex:"ljbh",sortable:true}, 
          {header:"链接名称",dataIndex:"ljmc"} 
          ], 
          store:storee, 
        }); 
        storee.load({params:{start:0,limit:10}}); 
    
      }); 
    

    json:

    [color=red]stcCallback1001([/color]{totalProperty:50,root:[{lmbh:1,[color=red]ljbh[/color]:1,ljmc:"ddddd"},{lmbh:11,[color=red]ljbh[/color]:1,ljmc:"dfg"}]}[color=red])[/color]

    红色是需要修改地方

    点赞 评论 复制链接分享
  • JimJin JimJin 2009-10-13 22:46

    //修正下 刚刚的JS 落了 function(){

    Ext.onReady(function(){
    var storee=new Ext.data.JsonStore({
    fields:["lmbh","ljbh","ljmc"],
    [color=red] //proxy:new Ext.data.HttpProxy({url:'bbar.jsp'}), [/color]
    [color=red]proxy:new Ext.data.ScriptTagProxy({url:'test.json'}), //我这里用test.json 文件(文件内容见地部)来测试 你需要把服务端该为下面的JSON样式 [/color]
    [color=red]//reader:new Ext.data.JsonReader({ [/color]
    totalProperty:'totalProperty',
    id:'JsonStore',
    root:'root'[color=red]//},[{name:'lmbh'},{name:'ljbh'},{name:'ljmc'}]) [/color]
    });//转换成EXT支持的数据类型

        var grid = new Ext.grid.GridPanel({     //创建一个表格 
          renderTo:"hello", 
          title:"广西门户项目BI管理模块", 
          height:400, 
          width:600, 
          bbar:new Ext.PagingToolbar({ 
            pageSize:10, 
            store:storee, 
            displayInfo:true, 
            displayMsg:'显示第{0}条到第{1}条记录,一共两条', 
            emptyMsg:"没有记录" 
          }),   
          columns:[ 
          {header:"栏目编号",dataIndex:"lmbh",sortable:true}, 
          {header:"链接编号",dataIndex:"ljbh",sortable:true}, 
          {header:"链接名称",dataIndex:"ljmc"} 
          ], 
          store:storee, 
        }); 
        storee.load({params:{start:0,limit:10}}); 
    
      }); 
    

    json(test.json):

    [color=red]stcCallback1001([/color]{totalProperty:50,root:[{lmbh:1,[color=red]ljbh[/color]:1,ljmc:"ddddd"},{lmbh:11,[color=red]ljbh[/color]:1,ljmc:"dfg"}]})

    红色是需要修改地方

    点赞 评论 复制链接分享
  • JimJin JimJin 2009-10-14 09:45

    ScriptTagProxy 需要这样的JSON格式

    http://bill-end.iteye.com/blog/149214

    点赞 评论 复制链接分享
  • iteye_20589 iteye_20589 2009-10-14 15:56

    "lmbh":"1","ljbh":"1","ljmc":"ddddd"
    像上面这些JSON数据,key:value都""了试试。。

    点赞 评论 复制链接分享
  • iteye_20589 iteye_20589 2009-10-14 16:22

    有没有记录可以在store load完,用store.getCount()查看有几条记录。

    点赞 评论 复制链接分享
  • JimJin JimJin 2009-10-14 16:27

    ScriptTagProxy + test.json 文件 我这边昨晚试了是可以的,你很可能大母指了

    点赞 评论 复制链接分享
  • iteye_20589 iteye_20589 2009-10-14 16:32

    [quote]是0[/quote]
    这不是你的数据根本没到前台嘛。。
    后台打印出来。那你从firebug看有数据么。。

    response.getWriter().write(json);
    改成
    out.println(json);试试

    点赞 评论 复制链接分享
  • iteye_20589 iteye_20589 2009-10-14 16:34

    ScriptTagProxy 这是跨域的,你有跨域么。 :cry:

    点赞 评论 复制链接分享
  • JimJin JimJin 2009-10-14 16:35

    HttpProxy 和 ScriptTagProxy 要求的JSON格式不同
    ScriptTagProxy 会调用像 stcCallBack100001 的方法,你返回的JSON如何不符合ScriptTagProxy的要求当然出错了

    点赞 评论 复制链接分享
  • JimJin JimJin 2009-10-14 16:36

    ScriptTagProxy 要求像下面这样的JSON

    stcCallback1001({totalProperty:50,root:[{lmbh:1,ljbh:1,ljmc:"ddddd"},{lmbh:11,ljbh:1,ljmc:"dfg"}]})

    点赞 评论 复制链接分享