微型项目阶段总结
最近接手了一个小项目,使用的框架为本公司研发部门的一套最新框架。刚开始各种不适应,不过也没办法,此项目已经延期,不可能把以前的工作作废了。还是硬着头皮硬撑着做下去吧。
下面详细介绍其中曲折
- 报表控件选型
- masterpage与服务端控件不兼容
- 报表控件数据显示
- 图表控件使用排错
- 导出excel功能处理
框架使用的是metricui前台框架,因为客户的一些报表需要导出excel,以及需要各种柱状图、饼状图、曲线图。综合考虑下来决定使用公司前期购买的devexpress第三方控件。但是接下来开发过程中dev控件一直与框架不兼容,只要将dev控件添加到aspx页面,运行起来就会报错。当时忘了将web.config的customErrors mode设置为off,导致错误一直纠结了很久。醒悟了后才知道是因为新框架所用的masterpage(site.masterpage)没有标识 form为服务端控件。以前做的所有页面呈现全部为普通的html页面通过ajax也后端进行交互。报表控件我不可能再使用简单html客户端控件进行处理,只能另寻方法。刚开始想查询页面时弹出一个单独aspx页面,不放到masterpage,添加dev服务端控件的确可以正常显示,但是这样显示的效果与框架的整体效果完全不一致,即使是我这个很随便的人看后都不满意。后来灵机一动,为何不单独再添加一个masterpage(report.masterpage)页面呢,所有的报表界面都继承这个新的主页面。在这个主界面中将主要的内容控件通过 form服务端控件进行包装。但是这个框架使用的是响应式布局,包含着大量js与css,还包含着一些后端生成的js与css地址。我只能一个一个的将js与css位置写死。弄出来的report.masterpage还真的可以用。但是masterpage页面中不能包含如<%=,<%:这样的写法,因为内容控件创建的dev控件的时候如果在masterpage中存在刚刚列出的写法后就报错。后来添加webchart控件时提示报错,通过查询官网,在web.config中assemblies节点手动添加了<add assembly="DevExpress.Charts.v13.2.Core, Version=13.2.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"/>,真不知道dev是怎么想的,为何我添加webchartcontrol时不给我自动添加这个到web.config文件中呢,害的我找了半天,小闹心。都处理好了后测试一下导出excel功能吧,没反应,气个半死。难道dev在这个新框架中又不能用吗,那我这几天的研究不是白费了。没办法官网上找原因吧,最后在一个帖子中提示在page_load中处理ASPxDocumentViewer.report数据绑定。而且以前在进行报表数据显示的时候也因为这个折腾了好长时间,数据取出来后绑定到控件上就是不显示数据。当初是在查询控件对应的click事件中进行绑定的,后来也改到page_load方法中,但是添加了 page.ispostback判断,结果导致导出excel方法不能使用。哎,真是一个坑再加另一个坑。还好哥都给他填平了。

浙公网安备 33010602011771号