微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

建议最有用的Delphi TStringGrid(Grid)替换

德尔福的一个较弱的领域是网格(例如TStringGrid),尽管它做了很好的基础工作,但当您需要打印或定制外观时,它变得更加困难.我已经使用了大约15年,因此它嵌入我的应用程序,随着时间的推移,我已经为TGrid到RTF转换(通过MSWord打印)的家庭解决方案,并使用TDrawGrid进行更多的定制.我的解决方案(仍然)必须适用于Delphi 7和Delphi XE.发生这种情况,我的网格都没有DB绑定,它们都是在代码中进行单元格填充.

现在我正在计划整理我的报告和“我的表格”,这意味着用更有能力的实现来替换网格.在那里有负载,我有两个Developer Express Quantum GridTMS Grid Pack.时间是非常有限的,尽管与字体,颜色和打印​​的实验,我会很乐意的建议,对于哪些许多网格/打印显示报告组合我应该采用.我没有报告生成器,正在考虑使用FastReports,但我可以接受建议.

解决方法

在1998年左右,我厌倦了TStringGrid,开始了很长的旅程.我已经使用了虚拟网格视图控件,包括Roman Mochalev的ExGridView(移植到Delphi 2010 / XE here)和开发者快报的量子格网控件,以及随之而来的打印套件,以及Mike Lischke的虚拟树视图.是.这是一个树视图.但是,如果您不创建多个级别的节点,那么它也是一个非常好的虚拟网格.

最后,这些都不是完美的.您的应用程序的要求可能包括

>印刷.如果是这样,我会去开发人员Express组件,因为他们的网格组件和其他组件在其打印套件中内置打印支持.
>很多定制画,但不打印.如果是这样,我会回到VCL TDrawGrid,因为否则更复杂的库存绘画系统只会让你的方式.
保持简单如果是这样,我建议您使用ExGridView component.其他解决方案似乎让我得到了98%的方法,需要一吨的维护来解决定制的画布故障,打印故障或其他问题.如果您想要的是Windows 2000时代,看虚拟网格显示模型中的数据,请使用ExGridView.
>将来可能需要嵌套节点(树形).然后,现在就开始使用VirtualTreeView,并将其用作现在的网格,以后无缝添加功能.

在你的情况下,还有更多的“附加要求”,比我想象和列出的更多.但是,这些“也”将会(或应该)决定你的选择.您的应用程序必须运行24/7 / 365.25?那么,然后保持简单,并避免以后会伤害你的花哨的东西.

既然你声明你需要打印,漂亮的主题绘画,而且你已经拥有Developer Express组件,那将是第一个最合乎逻辑的选择.它是一个稳定,成熟,高品质的组件套件.对于稍后查看此问题的其他人来说,我唯一需要注意的是,这是一个复杂的,重量级的解决方案,而不是所有Delphi应用程序的“只需要比TStringGrid更好的可运行的网格”的权限. DevEx Quantum Grid可以复制您在Outlook中曾经看到的每个网格功能,例如,包括“group by”功能.

原文地址:https://www.jb51.cc/delphi/102795.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐