php grid 分页,关于具有动态列和分页功能的GRID的实现的请教。

afe3f0541e8bfc319c08b441dfad7b90.png

2008-12-03 21:36 geniushuai

网上的例子其实都是一样的.我需要的功能是这样的.首先后台返回的json数据如下:

totalpropal:100,

column:[{chineseName:列一,name:column1},{chineseName:列二,name:column2}],

fields:[{name:column1},{namee:column2}],

root:[{column1:value1,column2:value2}]

我需要一个能够根据这些数据生成grid的功能类,我的做法是这样的:在store的load的事件中更新列.

//定于grid需要的store

var ConfigItemStore =new Ext.data.JsonStore

({

proxy:new Ext.data.HttpProxy({url:URL_Test_List}),

remoteSort: true,

totalProperty: 'totalPorperty',

root: 'root',

fields:

[

{name:'id'}//默认的fields

,{name:'columnName'}

]

});

//1.在store的load时间中更新grid的colmode(成功了)

//2.在store的load事件中更新store的fields(失败了,就是这个为什么啊)

ConfigItemStore.on('load', function(a){

//取得需要生成的列的信息和fileds的信息

Ext.Ajax.request({

url: URL_Test_List,

success: function(response,options){

var json;

var cols = new Array();

var fieldss= new Array();

alert(response.responseText);

json = Ext.util.JSON.decode(response.responseText);

myfields = json.field;

//生成列

for (var i = 0; i < json.column.length; i++) {

var _header = json.column.chineseName;

var _dataIndex = json.column.name;

cols = {

header: _header,

dataIndex: _dataIndex,

width: 200,

sortable: true

};

}

//生成fields

for (var i = 0; i < myfields.length; i++) {

var _name = myfields.name;

alert(_name);

fieldss = {

name:_name

};

}

col= new Ext.grid.ColumnModel(cols);

//更新store的fields好像没用啊,为什么啊

ConfigItemStore.fields = fieldss;

//取得grid

var com=Ext.getCmp('MyTestGrid');

if(com)

com.reconfigure(ConfigItemStore,col);//更新grid

//我这样做还是只有原来的初始化时的id和columnname。

},

failure: function(){

alert('failed');

}

});

});

Ext.my.MyTestGrid=Ext.extend(Ext.grid.Gridpanel,{

id:'MyTestGrid',

store:ConfigItemStore ,

colmodel:new Ext.data.datacolmudle({header:'',dataindex:''}),

bbar:new Ext.util.pagingtoolbar({

store:ConfigItemStore

/其他参数

})

})

var grid=new Ext.my.MyTestGrid();

第2楼 119314bad8b084b8a69a5de3070064f4.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Grid++Report是一款C/S与B/S集成报表工具,功能全面易学易用。C/S开发适用于VB.NET,C#,VB,VC,Delphi,BCB,VFP,易语言等。B/S开发适用于ASP.NET,ASP,PHP,JSP等,支持所有WEB服务器。 Grid++Report6.0版主要新增功能 ★引擎方面 1、增加了一个自由表格部件,可以灵活定义各种自由表格,具有单元格合并功能。 2、部件框增加边距设置,边框增加内层与阴影,虚线边框。 3、文字显示增加段间距、首字缩进与两端分散对齐。 4、分组报表可以按某个统计值的大小对分组项进行排序 5、数据源除了OLE DB外,增加XML、JSON与普通文本数据。 6、在编程接口中增加了很多应用函数,如数据压缩、数字格式化、日期时间解析与格式化、打印机与纸型枚举、文件选择对话框等。 7、其它杂项功能,根据多年收集的用户需求来增加与改进功能,如分组相关系统变量、图像旋转显示等。 ★设计器: 1、设计面板具有缩放设计功能。 2、将关联属性归类为组,方便在设计时集中设置与查看。 3、对象浏览窗口与属性窗口可以隐藏,方便在设计很宽的报表时增大设计面板的区域。 4、设计面板大小跟随明细网格总宽来改变宽度,方便设计大宽度明细网格报表。 5、部件框锁定功能,被锁定的部件框不允许进行可视化拖放。 6、自动在分组头尾中增加统计框,默认为合计函数,并设置相应的对齐。 7、数据源连接串可以为 XML 或 JSON 数据源,且可以自动生成字段。设计报表时数据源可连接的类型有:各种数据库、XML或JSON文件、产生XML或JSON的网络URL、EXCEL文件、TEXT文件。 8、设计器增加数据提供事件接口,在设计报表时可以用给报表加载自定义数据源。 ★打印与打印预览: 1、横向分页时,在数据不多的情况下,分页直接显示在本页,而不是在下一页。 2、在模板中可以保存默认打印机名称。 3、分组尾支持每页重复打印。 4、如果部件框跨页多次显示了,在新页中再次输出其上下边框。 5、提供编程接口枚举出Windows系统中安装的打印机,以及指定打印机支持的所有纸张类型。 ★查询显示: 1、没有明细网格的报表,背景图可以显示出来。 2、明细数据不多时,表格不会显示下部空白。 ★数据导出: 1、在导出Excel时,能用代码设置页边距等参数 2、在运行时对外观属性的改变可以反映到Excel导出。 ★图表: 1、重新设计图表接口,让图表可视化设计与编程控制更清晰简单。 2、支持更多图表类型,如百分比柱状图、垂直排的柱图。 3、一个图表中可以混和显示多种不同类型的图形,如一个序为柱图,另一个序为曲线图。 4、Y轴可以显示双坐标轴,方便实现双轴柱状图等。 5、图例可以在下方显示,可以多栏显示。 6、增加图表数据记录集,图表数据直接从记录集或XML数据源加载,而不需用代码来加载图表数据。 7、图表方面还有很多细节方面的改进与增强,加强图表功能是本新版本的重要方面。 ★交叉表 1、多数据交叉表可以将同一产生的交叉在一起。 2、在合计中可以排除掉一些不进行合计。 3、纵向交叉项目中可以定义统计框或综合文字框表达式,在合计中关联的字段自动求和,在项目中关联字段为复制首笔值。 ★子报表: 1、子报表无数据可以自动隐藏。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值