使用MsFlexGrid控件的几个函数
2001-06-03 17:07
363 查看
在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
(本人语言表达能力有限,还请见谅)
'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
相关文章推荐
- 使用MsFlexGrid控件的几个函数
- 使用MsFlexGrid控件的几个函数
- 使用MsFlexGrid控件的几个函数
- Linux环境编程--文件描述符的使用以及常用来搭配的几个函数实例
- JavaScript服务器端开发(函数实参对象arguments使用的几个注意事项)
- UCOS-II几个重要的函数使用详解
- obstart() 几个函数的简单使用方法
- 使用ffmpeg进行解码的基本流程 和几个重要函数
- Discuz!NT代码阅读笔记(3)--网站安装也能自动化:DNT安装时使用到的几个函数解析 (转)
- 几个出错处理的函数abort、exit、atexit、strerror函数的使用方法
- sha1的几个函数的使用
- 函数的几个使用示例
- webSQL 经常使用的几个必要函数
- String 中的几个函数的使用方法
- PHP获取域名的几个函数使用
- js中几个正则表达式相关函数使用时g标志的作用
- Shell使用Epoch进行日期时间转换和计算的几个小函数
- SQL Server 几个常用函数的使用
- UCOS-II几个重要的函数使用详解
- opencv第四课----smooth函数使用(提出几个课后作业,希望完成)