在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