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
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
form2.MSHFlexGrid1.Height=(form2.MSHFlexGrid1.Rows+1)*17*15
uj5u.com熱心網友回復:
問題不在寬度上,而是 Rows 僅設定為兩行。建議在 Rows = 1 的基礎上配置表頭,然后記錄行都用 AddItem 方法加進去。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/55849.html
標籤:VB基礎類
上一篇:vb中的keyup,keypress,keydown事件的區別?
下一篇:VB如何提取CAD中文字的代碼
