在DotNetNuke中利用Reports模块拼凑数据(三)

这个(三)基本上是滥竽充数的,因为看到了两个网友的留言,所以在这里统一回复一下——确实是充数。

关于Reports模块的分页问题:

其实新版的Reports模块已经支持分页了,在设置界面就有,其实是非常简单的一个设置,如下图所示:

问这样的问题,表示提问题的这位同学根本没有使用过Reports模块啊,呵呵。

至于样式嘛,当然,Reports缺省的Grid方式是不能设置的(其实Grid也已经不错了),所以又提供了HTML和XSL两种列表解析方式,把这两种方式弄熟了,到处都可以用得到,所以,Reports的列表样式,是可以非常方便和自由的定义的。

anti-dnn同学留言说:DNN太多 dopostback 了,受不了,还是喜欢普通连接的方式,这样我可以自有选择是否在新窗口打开链接。

是的,此言深得我心,这也就是为什么我的第一篇牢骚就是我所不喜欢的DotNetNuke特性,第一篇讲DotNetNuke技术的文章就是讲“使用拼凑URL的方法,实现DotNetNuke在新窗口中打开内容”,如果这位同学看过我的这篇文章,应该知道,我和你曾经面临着同样的痛苦,以至于我郑重考虑过:从此告别DNN,投入Rainbow或者是Joomla等 CMS的怀抱,但是,最终,我还是搞定了这个问题。另外,我看了一些同学写的新闻发布系统,也支持“在新窗口”打开,但是,一打开之后,所有的菜单和版权声明等全都又带出来了,这个是非常让人郁闷的,等于是我们在新浪看新闻的时候,每个新闻页面都会拉出新浪上面的导航栏一样,这个根本让我无法接受,我之所以郁闷也就是在此,2007年的时候,我告诉自己,如果没办法搞定这个问题,那么就彻底放弃DotNetNuke,从此不再使用!是的,这个问题对我来说,就是这么严重,我觉得这是一个不同国家用户的使用习惯问题,绝对不能让用户改变习惯,只能改变系统,或者抛弃系统。

关于doPostBack,是的,就是因为我们用了太多的GridView、DataGrid,希望用最简单的方式绑定数据,所以才是PostBack方式的;但是只要我们的代码稍微修改一下——不会太多,稍微修改一下而已,就可以让用户更加舒服的选择是直接链接打开,还是新窗口打开了。

最后,再啰嗦一下:之所以写这些DotNetNuke的文章,是因为毕竟在DotNetNuke上研究了将近两年的时间,并且还做了一个基于工作流的模块,也就是RedstartForm模块,我希望这个模块可以被大家使用。我们接下来所有的文章,核心都是围绕着如何将这个模块实现出来,从数据库结构,到前台的代码,我个人觉得有必要的,都希望可以写出来,和大家分享一下,也算是自己做的工作没有荒废吧。

再最后:其实这些在前面的文章都已经提到过了,之所以再说一遍的原因——再鄙视自己一次,是因为我不会用博客园,不知道如何将文章放到首页,所以前面的文章基本上没人看到。

时间: 2024-10-15 09:15:09

在DotNetNuke中利用Reports模块拼凑数据(三)的相关文章

在DotNetNuke中利用Reports模块拼凑数据(一)

老实说,我非常喜欢"自由度"大的模块:而且,我更喜欢"数据列表"性的模块,而不是像Text/HTML模块一样,只是一个FCKEditor而已,剩余的东西交给用户.没有"历史数据".没有"痕迹",一旦你做了修改,这些修改就实实在在的替换掉了原来的东西,原来的数据就变得不可查询了.对于一个网站来说,这并不好,所以Text/HTML只适合做相对来说最简单的静态页面,在某种情况下,和Google Sites有点类似. Forum模块,

在DotNetNuke中利用Reports模块拼凑数据(二)

在(一)中,我们描述了如何在一分钟之内(如果你SQL语句足够熟练的话),将已有的数据重新打乱.组合.排列,等等,Whatever you want,总之,是用已有的数据,组合成一个新的数据模块.我们介绍了Reports,这个模块非常方便,也极其简单,就是把我们用SELECT语句选择出来的列,全部都放在一个模块之内,其实,这就是一个非常开放的模块.也非常好用的模块,如果我们自己开发的模块,可以达到这种效果的话,那么,应该就算是非常成功了. Reports的新版(大概是4.0以后的版本,07年的版本

python中的pickle模块储存数据,和print储存有什么区别吗?

问题描述 python中的pickle模块储存数据,和print储存有什么区别吗? python中的pickle模块储存数据,和print储存有什么区别吗? pickle.dump和print(object,file=XXX)不一样吗? 解决方案 pickle是序列化的方式存储数据,可以还原回对象.print应该只是打印这个对象数据到文件 解决方案二: http://www.cnblogs.com/pzxbc/archive/2012/03/18/2404715.html

SQLServer中利用NTILE函数对数据进行分组的一点使用

原文:SQLServer中利用NTILE函数对数据进行分组的一点使用 本文出处:http://www.cnblogs.com/wy123/p/6908377.html    NTILE函数可以按照指定的排序规则,对数据按照指定的组数(M个对象,按照某种排序分N个组)进行分组,可以展现出某一条数据被分配在哪个组中. 不仅可以单单利用这个特性,还可以借助该特实现更加有意思的功能. NTILE的基本使用 NTILE的作用是对数据进行整体上的分组,比如有60个学生,按照成绩分成"上中下"三个级

PHP中利用APC模块实现文件上传进度条

从5.2开始APC加入了一个叫APC_UPLOAD_PROGRESS的东东,解决了困扰大家已久的进度条问题.并且它把原来的上传时把临时文件全部缓存到内存改成了当临时文件达到设定值时就自动保存到硬盘,有效地改善了内存利用状况. 它的作用原理是在上传时候赋予每个上传一个唯一的ID,当 PHP 脚本收到一个上传文件时,解释程序将自动检查 $_POST数组中名为 APC_UPLOAD_PROGRESS 的隐藏字段,它将成为缓存变量,存储关于上传的信息,这样脚本就可以通过上传的ID来访问上传文件的状态信息

Linux中利用Rsync+Inotify-tools实现数据实时同步备份

说明: 操作系统:CentOS 5.X 源服务器:192.168.21.129 目标服务器:192.168.21.127,192.168.21.128 目的:把源服务器上/home/www.111cn.net目录实时同步到目标服务器的/home/www.111cn.net下 具体操作: 第一部分:分别在两台目标服务器192.168.21.127,192.168.21.128上操作 一.分别在两台在目标服务器安装Rsync服务端 1.关闭SELINUX vi /etc/selinux/config

Ubuntu10.04中利用V4L2读取摄像头数据并保存成文件【转】

转自:http://blog.chinaunix.net/uid-29339876-id-4042245.html 利用V4L2读取UVC摄像头数据并保存成视频文件,主要参考http://linuxtv.org/downloads/v4l-dvb-apis/index.html中的示例Appendix D. Video Capture Example,将读取的文件保存在当前目录下的file.yuv中,修改后的完成代码如下:      点击(此处)折叠或打开 /*  * V4L2 video ca

Win7电脑中利用命令提示符拷贝硬盘数据

  1.首先,在自己的win7电脑中同时按下键盘上的win+R快捷键打开电脑的运行窗口,在打开的运行窗口中,输入cmd并单击回车,这样就可以打开win7电脑的命令提示符窗口了. 2.在打开的命令提示符窗口中,输入copy c:test.txt d: 命令,即可将C盘TEST文件直接复制到D盘中,想要复制哪个磁盘中的哪个文件,只要直接对这个命令进行相应的修改就可以了,或者在复制文件的同时还可以对文件进行重命名,比如要将C盘TEST文件直接复制到D盘中,再将它重命名为test2.txt,即输入命令c

Jquery中利用getJSON读取json数据方法

整个调用过程中,起关键作用的是jsoncallback=?,在客户端调用时需在请求地址中添加参数:jsoncallback=?:同时服务器端则需要把jsoncallback的值作为方法名传回来. 服务端代码:  代码如下 复制代码   protected void Page_Load(object sender, EventArgs e) { Response.Write(Request.QueryString["jsoncallback"] + "({name:'test'