明振居士的DataGridViewEx扩展2012.2.24版本

时间:2015-03-16 07:39:42
【文件属性】:

文件名称:明振居士的DataGridViewEx扩展2012.2.24版本

文件大小:297KB

文件格式:RAR

更新时间:2015-03-16 07:39:42

DataGridViewEx扩展,标题自动换行,汇总增加,格式控制,所见即所得的输出及打印

开发环境为vs2012 C#源码及完全样例 此版本为2012.2.24日更新版本,更新内容为 * 最后修改时间:2012.2.24 增加了汇总信息的自定义控制属性,参见功能描述12 * 2012.2.23 修改了过多列时父标题不显示的问题,重新写了算法,修改了标题头重叠及不能换行的问题,参见说明11. 总功能列举如下: /**************************************************************************************************** * Copyright (C) 2012 明振居士 版权没有,任意拷贝及使用,但对使用造成的任何后果不负任何责任,互相开源影响,共同进步 * 文 件 名:DataGridViewEx.cs * 创 建 人:明振居士 * Email:nzj.163@163.com qq:342155124 * 创建时间:2010-06-01 * 最后修改时间:2012.2.24 增加了汇总信息的自定义控制属性,参见功能描述12 * 2012.2.23 修改了过多列时父标题不显示的问题,重新写了算法,修改了标题头重叠及不能换行的问题,参见说明11. * 2012-1-19 增加第10条所示的功能;修改了列头超过26列的错误,导出excel为数组方式,速度更快,导出的单元格设置为文本格式。 * 标 题:用户自定义的DataGridView控件 * 功能描述:扩展DataGridView控件功能 * 扩展功能: * 1、搜索Search(); 有两个同明方法,参数不同 F3为快捷键继续向下搜索 * 2、用TreeView HeadSource 来设置复杂的标题样式,如果某个节点对应的显示列隐藏,请将该节点Tag设置为hide,隐藏列的排列位置与绑定数据元列位置对应,树叶节点的顺序需要与结果集的列顺序一致 * 3、通过反射导出Excel,无需引用com组件,方法ExportExcel() ,不受列数的限制,表头同样可以导出,AutoFit属性设置导出excel后是否自动调整单元格宽度 * 导出内容支持自定义的:Title List Header List Footer,支持在设计时值的设定,窗口关闭时Excel资源自动彻底释放 * 4、可以自己任意设定那些列显示及不显示,通过调用方法SetColumnVisible()实现。 * 5、设置列标题SetHeader(),设置列永远可见AlwaysShowCols(),设置列暂时不可见HideCols() * 注意,当使用了TreeView作为复杂Header时,不要使用本方法,Header显示的内容根据treeview内容而显示 * 6、列宽度及顺序的保存SaveGridView(),加载LoadGridView() * 7、支持所见即所得的打印功能,举例如下 * private void button5_Click(object sender, EventArgs e) { DGVPrinter printer = new DGVPrinter(); printer.PrintPreviewDataGridView(DataGridViewEx1); } * 8、自定义合并行与列,行合并用 MergeRowColumn 属性,列合并用MergeColumnNames属性,都可以定义多个列 * 9、行标号的设置 bool ShowRowNumber; * 10、增加最后一行的汇总行,支持列的聚合函数,参见http://msdn.microsoft.com/zh-cn/library/system.data.datacolumn.[removed]v=VS.100).aspx * 假设对id列显示“合计”字符,avgPrice进行平均值,total列显示合计,则对ComputeColumns属性增加三行内容:id,合计:;avgPrice,Avg(avgPrice);total,Sum(total) * 如果需要对值进行格式控制,请实现beforeShow事件 * 增加了导出和打印对应的支持,所见即所得的对齐方应用于式导出及打印。 * 11、列标题头自动换行,默认设置为每个列标题头行高为22,如果设置的字体更大,将自动进行计算。如果需要多行显示,请根据需要调节ColumnHeaderHeight属性值, * 其估算方法为预计的标题头层数乘以22,或层数乘以设置的字体高度。 * 12、针对第10条功能,增加汇总信息的自定义控制属性,汇总字体SummaryFont,汇总字体颜色SummaryFontColor,汇总背景色SummaryBGColor,边框与整个表格边框一致 ****************************************************************************************************/


【文件预览】:
DataGridViewExample
----DataGridViewExample.sln(899B)
----DataGridViewExample.suo(34KB)
----DataGridViewExample()
--------bin()
--------Dal()
--------Form1.Designer.cs(34KB)
--------Program.cs(500B)
--------obj()
--------Settings.cs(1KB)
--------Form1.cs(8KB)
--------app.config(386B)
--------DataGridViewExample.csproj(5KB)
--------Form1.resx(12KB)
--------test.mdb(516KB)
--------DataGridViewEx()
--------Bll()
--------Properties()

网友评论

  • 如果能把最后一行固定就好了。
  • 确实不错,我的项目中都用它了
  • 学习学习,还是很好的一个资源。
  • 不错哦 可以用 ~~~
  • 不错的例子,再整理一下就更加好
  • 不错,很好的扩展了DataGridView功能上的不足。
  • 不错,很好的扩展了DataGridView功能上的不足。
  • 功能不错,例子写的也很详细,学习了
  • 不错,很好的扩展了DataGridView功能上的不足。
  • 还可以,有些地方可以学习
  • 还行吧,不过对于我来说不太适用
  • 很好教学资源
  • 功能很强大
  • 还行吧,不过对于我来说不太适用
  • 可以用,但未使用扩展类的方式!
  • 学习一下 第一个DataGridView 中滚动条上下拖动一下 合并的 “一年一班” 只显示一半 处理一下滚动条事件: private void dataGridView1_Scroll(object sender, ScrollEventArgs e) { dataGridView1.Invalidate(); }
  • 功能很不错,非常有借鉴意义!
  • 功能不错,可惜要安装过OFFICE
  • 简单测试了一下office2003可以导出,没有全部测试,学习一下。
  • 功能不错,例子写的也详细
  • 已经初步看过代码,测试后发现,该代码问题很多,最多只能研究,不能在项目中使用。 问题例举: 一、导出Excel报错,本机安装过OFFICE2010,按理说是不应该有问题的,但是错误提示为“调用目标发生异常……”,这里需要修改报错方式,显示内部错误信息(或者完整错误堆栈)才能看到问题的根源。 二、打印报错,当本机未启动打印服务或未安装打印机时,肯定是会出错的,但是程序未将错误捕获,直接程序崩溃。 三、多层表头拖动列位置未加限制,你的多层表头是画上去的图案,但是当列位置更改后,这个图案就乱七八糟了。 四、汇总行无法固定在下方,不能及时看到,查看很不方便。那至少放在第一行也是个折衷的方法。
  • 非常多谢明振居士雷锋精神,再出更新功能控件版本,这个我对用得非常用有及好的,这是C#写的有原代码及使用例子的全功力的控件,对新手非常好的!