全新打造的 DataGrid 控件

 经过一段时间的努力,并参阅了很多大侠的源代码,重新改造了一下DataGrid控件。现将所有的源代码全部公布,以和朋友们共享。


'主要的功能有:
'    可以显示汉字标题、列宽、左边行号;
'    可以按照标题行排序;
'    可以设置脚注汇总行(排序后仍然在最后一行);
'    表格中有右键菜单;
'    可以根据各单元格的数据类型,自动设置显示格式;
'    对于日期时间数据,可以只显示日期,也可显示时间;
'    对于逻辑型数据,用CheckBox显示数据

'主要的属性是:
'.BqColorFootBack   设置脚注合计行的背景颜色,如果不设,则与表格背景一致
'.BqColorFootFont   设置脚注合计行的字体颜色,如果不设,则与表格字体一致
'.BqcNoReadOnlyMap  设置哪此字段是可以编辑的,如果不设,则所有字段只读
'.BqColumnHeader    设置表格中各显示列的汉字标题,如果不设,则标题为空
'.BqColumnMap       设置表格中各显示列的字段名,如果不设,则显示数据源中所有字段
'.BqColumnWidth     设置表格中各显示列的宽度,如果不设,则自动列宽
'.BqSetSource       设置表格的数据源dataview。设置好上面的属性后,就可以用此属性进行初始化了。

'.BqMsetSum         设置并返回聚合函数的值,并在表格最后脚注栏显示
'.BqpshowAllColumnS 设置是否整行选中
'.BqpshowAutoWidths 设置是否自动列宽
'.BqpShowNull       设置是否显示空值
'.BqpShowNumber     设置是否显示左边的行号
'.BqpShowTime       设置是否显示完整的时间,否则只显示年月日


'例如:
' With BqUDataGrid1
'  .BqColumnMap = "ID1,BHranKdq,BHdq,BHparent,MCdq,YB,QH,ZD,PYdq,K_dele"
'  .BqColumnHeader = "ID,级别编号,地区编号,上级编号,地区名称,邮政编码,电话区号,驻地,拼音代码,停用"
'  .BqColumnWidth = "0,40,60,0,120,60,0,80,50,30,100,150,50,80,100,150,50,60,50"
'  .BqcNoReadOnlyMap = "MCdq,YB,QH,"
'  .BqColorFootBack = Brushes.White
'  .BqColorFootFont = Brushes.Tomato
'  .BqSetSource = ltv 
' End With

'还需要改进的是:
'  1、红字条件。即给定一个符合where规则的条件表达式,让控件用红色显示满足条件的记录;
'  2、返回记录。即随时返回当前的记录datarow,从而确定当前记录中各字段的值,并且还能判断是否满足条件
'  3、左边行号。如果能够把左边行号与表中的记录号一一对应就好了。

Imports  System
Imports  System.Collections
Imports  Microsoft.visualbasic
Imports  System.ComponentModel
Imports  System.Drawing
Imports  System.Data
Imports  System.Windows.Forms
Imports  System.Text


全新打造的最新的datagrid  作者:钱波


需要的其它自定义类


发布了24 篇原创文章 · 获赞 5 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/cdbqss1/article/details/1422060