Private Sub MSHFlexGrid1_EnterCell()
If MSHFlexGrid1.MouseRow = 0 Then
Text1.Visible = False
Exit Sub
End If
MSHFlexGrid1.Col = MSHFlexGrid1.MouseCol
MSHFlexGrid1.Row = MSHFlexGrid1.MouseRow
Text1.Text = ""
Text1.Visible = False
Text1.Top = MSHFlexGrid1.Top + MSHFlexGrid1.CellTop
Text1.Left = MSHFlexGrid1.Left + MSHFlexGrid1.CellLeft
Text1.Width = MSHFlexGrid1.CellWidth
Text1.Height = MSHFlexGrid1.CellHeight
Text1.Text = MSHFlexGrid1.Text
Text1.Visible = True
Text1.SetFocus
End SubPrivate Sub MSHFlexGrid1_LeaveCell()
MSHFlexGrid1.Text = Text1.Text
End Sub
这是我从visual basic 5从入门到精通上面拷贝的代码,实现一个用text修改MSHFlexGrid里面的数字.
If MSHFlexGrid1.MouseRow = 0 Then
Text1.Visible = False
Exit Sub
End If
这段代码用来判断固定行,不作修改操作.
问题出在每当我点击固定行然后离开的时候,程序总会修改固定行的下一行.修改后的值就是点击固定行前的cell的值.
该如何修改?
If MSHFlexGrid1.MouseRow = 0 Then
Text1.Visible = False
Exit Sub
End If
MSHFlexGrid1.Col = MSHFlexGrid1.MouseCol
MSHFlexGrid1.Row = MSHFlexGrid1.MouseRow
Text1.Text = ""
Text1.Visible = False
Text1.Top = MSHFlexGrid1.Top + MSHFlexGrid1.CellTop
Text1.Left = MSHFlexGrid1.Left + MSHFlexGrid1.CellLeft
Text1.Width = MSHFlexGrid1.CellWidth
Text1.Height = MSHFlexGrid1.CellHeight
Text1.Text = MSHFlexGrid1.Text
Text1.Visible = True
Text1.SetFocus
End SubPrivate Sub MSHFlexGrid1_LeaveCell()
MSHFlexGrid1.Text = Text1.Text
End Sub
这是我从visual basic 5从入门到精通上面拷贝的代码,实现一个用text修改MSHFlexGrid里面的数字.
If MSHFlexGrid1.MouseRow = 0 Then
Text1.Visible = False
Exit Sub
End If
这段代码用来判断固定行,不作修改操作.
问题出在每当我点击固定行然后离开的时候,程序总会修改固定行的下一行.修改后的值就是点击固定行前的cell的值.
该如何修改?
Dim adoCnn As New ADODB.Connection
Dim adoCmm As New ADODB.Command
Dim Rs As New ADODB.Recordset
Private Sub Command1_Click()
Set MSHFlexGrid1.DataSource = Nothing
MSHFlexGrid1.Clear
MSHFlexGrid1.ClearStructure
MSHFlexGrid1.Cols = 2
MSHFlexGrid1.Rows = 2
MSHFlexGrid1.Refresh
'Unload MSHFlexGrid1
Call Toolbar1_ButtonClick(Toolbar1.Buttons(1))
End SubPrivate Sub Form_Load()
Toolbar1.Buttons(1).Image = 1
'Toolbar1.Buttons(1).Image = 1
Text1.Move -10000, -10000, 1, 1
adoCnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Program Files\Microsoft Visual Studio\VB98\NWIND.MDB;Persist Security Info=False"
Rs.CursorLocation = adUseClient
Rs.Open "select * from employees", adoCnn, adOpenDynamic, adLockBatchOptimistic
Set MSHFlexGrid1.DataSource = Rs
End SubPrivate Sub MSHFlexGrid1_EnterCell()
MSHFlexGrid1.CellBackColor = vbBlue
MSHFlexGrid1.CellForeColor = vbWhite
Text1.Text = MSHFlexGrid1.Text
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
End SubPrivate Sub MSHFlexGrid1_LeaveCell()
MSHFlexGrid1.CellBackColor = vbWhite
MSHFlexGrid1.CellForeColor = vbBlue
End SubPrivate Sub MSHFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Text1.SetFocus
End SubPrivate Sub Text1_Change()
MSHFlexGrid1.Text = Text1.Text
End Sub