我认为挺难的两个问题 问题1明确告诉你,这个功能你没法完成(如果你用TQuery+TDBGrid)!问题2你可以用自定义打印或用BandType=rbSummary试试。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 加一个,TDataSetProvider,ClientDataSet1TQuery =>TDataSetProvider,->ClientDataSet1TClientDataset(可以排序); 问题1:为什么不能排序呢?你是否只向对添加(修改)操作前的记录做排序啊?如果不是的话,重新select并order by某字段应该可以实现重排序的。问题2:参考delphi所带的demo,应该可以帮助你 问题一:我是用语句取得数据子集后再用提供的命令经过加工的,这样当然是要排过序,但怎么还能再用SQL语句呢?难道说又重新来过吗?问题二:例子好像没有我所要求的报表吧? 你用命令对数据子集进行加工后,只要记录还是满足原来的条件,重新select后还应该包含原来查出来的数据,这时再重新排序就可以了 看来老兄没明白我的意思,我用Append()添加的记录,只是存在Query控件里而已,并没有存在真正的数据库里,如果再用SQL语句,则我新添加的几条记录怎么取出来呢? 要是能第二次用Order By...命令,这第一个问题也不能算是问题了。 1.也可以用EhDbgrid啊~他本身提供排序功能~~呵呵~2.没用过!不知道啊! 谁说C++Builder论坛里无人能解答,我已经看过你的问题了,是你太不认真,qrexpr 属性 ResetAfterPrint 设置一下就好了以后少说这种话 怎么各位的回答都是这么简洁呢?搞得小弟云里雾里的,不知是否水平的问题,现在我还没搞懂,就像什么属性ResetAfterPrint,只有true和false,到底怎么个用法呢?C++Builder论坛里的回答更简单,大都是一句话,弄得我现在也没能解决问题。 你的第一个问题好说,如果你是用的BDE的缓存表的话就没有办法解决了,因为对缓存表修改或增加记录后不能重新排序,除非你用正确的ADO表或者使用PB,在Delphi的BDE中是无法解决的,我很遗憾不能帮你,但是希望给点分。 1:先把tquery中的数据保存到一个表中(存到硬盘中),可以用batchmove控件来完成。下一步再排序。使用中间表你看可行吗?2:你用的QRExpr可以从table 或 query 中取值,这样也可利用的中间表的方法,将临时变量的值保存到临时表中。临时变量的取值过程可以加到报表的生成过程中。 方法比较笨,见笑了。 SQL语句后再加ORDER BY语句不是就可以了么? 一、可以告诉你,用tquery是无法实现的,因为他不能编辑数据,可以用table配合实现二、报表里添加自定义的东西,最好是在窗体创建时控制,即在form.create里控制 问题一我已经解决了,是参考newreamer的方法,分数打算给50,另外还有问题二怎么解决? 其实Borland提供的Qreport报表工具挺好用呀。 OCX控件在throme浏览器无法使用问题 请教一个if语句 光棍节中大奖! WebBrowser1 如何打开相对路径的 abc\a.html 线程中非模式对话框怎么传递参数给父窗口? SQL语句问题 求delphi6的下载 关于开发的合作 delphi 如何安全关闭tidudpclient? 画图问题 如何实现邮件服务器? 用甲猫拨乙猫,怎样才能通过delphi在程序中知道,乙猫是否被拨通,或乙猫的状态,谢谢
问题2:参考delphi所带的demo,应该可以帮助你
我是用语句取得数据子集后再用提供的命令经过加工的,这样当然是要排过序,
但怎么还能再用SQL语句呢?难道说又重新来过吗?问题二:
例子好像没有我所要求的报表吧?
并没有存在真正的数据库里,如果再用SQL语句,则我新添加的几条记录怎么取出来呢?
2.没用过!不知道啊!
我已经看过你的问题了,是你太不认真,
qrexpr 属性 ResetAfterPrint 设置一下就好了以后少说这种话
不知是否水平的问题,现在我还没搞懂,就像什么属性ResetAfterPrint,
只有true和false,到底怎么个用法呢?C++Builder论坛里的回答更简单,大都是一句话,弄得我现在也没能解决问题。
2:你用的QRExpr可以从table 或 query 中取值,这样也可利用的中间表的方法,将临时变量的值保存到临时表中。临时变量的取值过程可以加到报表的生成过程中。
方法比较笨,见笑了。
二、报表里添加自定义的东西,最好是在窗体创建时控制,即在form.create里控制