MSHFlexGrid显示问题

oQingCaiBaiYuTang1 2017-07-11 04:46:48
MSHFlexGrid显示有问题,只能显示最后一行,text显示正常,怀疑是ROW赋值出问题,但不知道怎么改。代码如下:
Private Sub Print_Array(Arrays() As Double, Title As String) '打印数组
Dim i As Integer, k As Long, n As Long, j As Integer
Dim da As Double
k = UBound(Arrays)
For i = 0 To k
j = n
da = Arrays(k) - Arrays(0)
form2.Text1.Text = form2.Text1.Text & Format(Arrays(i) + da, "0.0000") & ","
Next i
' Dim n As Long
' Dim i As Integer '写入网格位置变量
' Dim j As Integer
On Error GoTo e:
i = 1
Dim Col As Integer
Dim Row As Integer
Row = 1
n = n + 1
n = UBound(Arrays)
If Row > form2.MSHFlexGrid1.Rows - 1 Then '导入数据时,表格行数不够时自动添加
form2.MSHFlexGrid1.Rows = Row + 1
End If
If n > form2.MSHFlexGrid1.Cols - 1 Then
form2.MSHFlexGrid1.Cols = n + 2
End If
For i = 0 To n
With form2.MSHFlexGrid1
.TextMatrix(0, i + 1) = "" & i + 1
.TextMatrix(Row, 0) = "" & Row
.ColAlignment(i + 1) = 1 'flexAlignCenterCenter
.Row = Row
.Col = i + 1 '颜色限定
.CellForeColor = &H0& '输入的文本的颜色为黑色
.TextMatrix(Row, i + 1) = Format(Arrays(i) + da, "0.0000")
End With
Next
Row = Row + 1
Close #1
e: If Err Then
If Not StrComp(Err.Description, "选定“取消”。") Then Exit Sub
End If
'设置表头为黑色
For j = 0 To 1
With form2.MSHFlexGrid1
.Row = 0
.Col = j '颜色限定
.CellForeColor = &H0& '文本的颜色为黑色
End With
Next j
form2.Enabled = True

End Sub
...全文
285 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-07-12
  • 打赏
  • 举报
回复
form2.MSHFlexGrid1.Height=(form2.MSHFlexGrid1.Rows+1)*17*15
of123 2017-07-12
  • 打赏
  • 举报
回复
问题不在宽度上,而是 Rows 仅设置为两行。 建议在 Rows = 1 的基础上配置表头,然后记录行都用 AddItem 方法加进去。
oQingCaiBaiYuTang1 2017-07-11
  • 打赏
  • 举报
回复

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧