使用MsFlexGrid控件的几个函数

王朝vb·作者佚名  2006-01-08
宽屏版  字体: |||超大  

在VB处理数据显示的时候,使用表格是一种好的方法,虽然DataGrid可以与数据源绑定,但是总有美中不足,就是外观不好看,所以有时应用MsFlexGrid显示数据还是一种比较好的方法,以下几个函数是用来控制MsFlexGrid的程序

(本人语言表达能力有限,还请见谅)

'MsFlexGrid操作函数

'合并列

Public Function MergeCol(GridObj As Object, ByVal StartCol As Long, ByVal EndCol As Long, ByVal ColValue As String, ByVal CurrentRow As Long) As Boolean

If StartCol > EndCol Or StartCol > GridObj.Cols Or CurrentRow > GridObj.Rows Then

MsgBox "对不起,行列设置错误!", vbOKOnly, App.Title

MergeCol = False

Exit Function

End If

For I = StartCol To EndCol

GridObj.MergeCol(I) = True

GridObj.TextArray(faIndex(GridObj, CurrentRow, I)) = ColValue

GridObj.ColAlignment(I) = flexAlignCenterCenter

Next I

GridObj.MergeRow(CurrentRow) = True

MergeCol = True

End Function

'合并行

Public Function MergeRow(GridObj As Object, ByVal StartRow As Long, ByVal EndRow As Long, ByVal RowValue As String, ByVal CurrentCol As Long) As Boolean

If StartRow > EndRow Or StartRow > GridObj.Rows Or CurrentCol > GridObj.Cols Then

MsgBox "对不起,行列设置错误!", vbOKOnly, App.Title

MergeRow = False

Exit Function

End If

For I = StartRow To EndRow

GridObj.MergeRow(I) = True

GridObj.TextArray(faIndex(GridObj, I, CurrentCol)) = RowValue

GridObj.ColAlignment(CurrentCol) = flexAlignCenterCenter

Next I

GridObj.MergeCol(CurrentCol) = True

MergeRow = True

End Function

'转换索引

Public Function faIndex(GridObj As Object, ByVal row As Integer, ByVal col As Integer) As Long

If row > GridObj.Rows Or row < 0 Or col > GridObj.Cols Or col < 0 Then

MsgBox "对不起,行列设置错误!", vbOKOnly, App.Title

faIndex = -1

Exit Function

End If

faIndex = row * GridObj.Cols + col

End Function

'插入行

Public Function SetItem(GridObj As Object, ByVal row As Integer, ByVal col As Integer, ByVal SetValue As String) As Boolean

If row > GridObj.Rows Or row < 0 Or col > GridObj.Cols Or col < 0 Then

MsgBox "对不起,行列设置错误!", vbOKOnly, App.Title

SetItem = False

Exit Function

End If

GridObj.TextArray(faIndex(GridObj, row, col)) = SetValue

SetItem = True

End Function

'得到单元格值

Public Function GetItem(GridObj As Object, ByVal row As Integer, ByVal col As Integer) As String

If row > GridObj.Rows Or row < 0 Or col > GridObj.Cols Or col < 0 Then

MsgBox "对不起,行列设置错误!", vbOKOnly, App.Title

GetItem = ""

Exit Function

End If

GetItem = GridObj.TextArray(faIndex(GridObj, row, col))

End Function

这是我以前写的几个函数,不知能不能帮上你, 我弄Excel时间挺长,有什么问题可以给我发E_mail

w.hua@ynmail.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有