带合计行的多层表头(多行表头/多维表头)组件TDataGridViewEx实现兼假期总结

本文介绍了使用Delphi和.NET的C#实现带合计行的多层表头组件TDataGridViewEx的过程。通过自定义列类型TDataGridViewTextBoxColumnEx和单元格TDataGridViewTextBoxCellEx,解决数据存储、变化时的合计计算问题。同时,针对数据源变化、排序及绑定源行变化时的合计效率进行了优化。表头绘制和合计行位置设计也是讨论的重点。
摘要由CSDN通过智能技术生成
(原创文章,转载请注明来源:http://blog.csdn.net/hulihui)

    今年假期较长,用Delphi完成一个单机分布式报表系统后,一直在思考问题:去年开始,交通运输部下发的软件全部转到.NET。偶是否也要如此?多年经验体会,具有Delphi三个组件:多层表头表格组件(TDBGridEh)、字符表格组件(TAdvStringGrid)、文件压缩组件(THBackup),就可以满足自己的技术需求。搜索.NET的相关资源结果:免费.NET多层表头组件功能太弱,字符表格组件可用DataGridView代替,压缩则可以用.NET的TGZipStream实现。
    思考与技术比较的结果是:虽然Delphi2009刚发布,但个人感到C#语法优美、VS人性化好、编程效率高,具有底层平台支持,还有免费Express版本(无版权纠纷)。于是,考虑自己做.NET压缩组件和表格组件,一来学习C#可视化编程技术,二来为今后作技术准备。

    多层表头的主要技术问题是:第一,表示与存储多层表头;第二,绘制多表头列与合并列。
    针对第一个问题,网上搜索资料看,存储与表示多层表头有多种方案,偶考虑如下两种:
  1. 用TreeView组件表示与存储。符合实际的层次结构,容易理解。但实现需要递归,效率不高,还要独立存储对象;<
评论 35
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值