全新打造的 DataGrid 控件

时间:2021-08-05 03:12:52

 经过一段时间的努力,并参阅了很多大侠的源代码,重新改造了一下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、左边行号。如果能够把左边行号与表中的记录号一一对应就好了。

 

全新打造的 DataGrid 控件Imports System
全新打造的 DataGrid 控件
Imports System.Collections
全新打造的 DataGrid 控件
Imports Microsoft.visualbasic
全新打造的 DataGrid 控件
Imports System.ComponentModel
全新打造的 DataGrid 控件
Imports System.Drawing
全新打造的 DataGrid 控件
Imports System.Data
全新打造的 DataGrid 控件
Imports System.Windows.Forms
全新打造的 DataGrid 控件
Imports System.Text
全新打造的 DataGrid 控件
全新打造的 DataGrid 控件
全新打造的 DataGrid 控件全新打造的 DataGrid 控件
全新打造的最新的datagrid  作者:钱波
全新打造的 DataGrid 控件
全新打造的 DataGrid 控件
全新打造的 DataGrid 控件全新打造的 DataGrid 控件
需要的其它自定义类
全新打造的 DataGrid 控件
全新打造的 DataGrid 控件
全新打造的 DataGrid 控件