Private Sub Adodc1_FieldChangeComplete(ByVal cFields As Long, Fields As Variant, ByVal pError As ADODB.error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) '字段改变完成后触发的事件 bDataEdited = True End Sub [其他解释] 但是如果设置成下面的样子: .DataMode =flexDMBound '要实现修改表数据必须这样设置
可以保存修改的数据,但无法实现单击列头的排序功能。矛盾呀! [其他解释] 动态设置一下,试试 修改数据执行时 set VSFlexGrid.DataMode =flexDMBound 。。。。。。 完成后再改回 set VSFlexGrid.DataMode = flexDMFree
[其他解释]
我是在这个下面的事件里面实现单击列头排序的功能的,但只要前面 VSFlexGrid.DataMode =flexDMBound 以后单击列头下面的 VSFlexGrid_HeadClick 事件就不会响应了。想在该事件里面像你说的 方法就无从谈起了。 Private Sub VSFlexGrid_HeadClick(ByVal ColIndex As Integer) '单击页眉进行排序 ..... End Sub [其他解释]
Private Sub VSFlexGrid_HeadClick(ByVal ColIndex As Integer) '单击页眉进行排序 set VSFlexGrid.DataMode =flexDMFree 。。。。。。 完成后再改回 set VSFlexGrid.DataMode = flexDMBound End Sub
Private Sub DataGrid1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 And Shift = 1 Then '同时按下鼠标左键及SHIFT按键 DataGrid1.DataMode = flexDMFree Else DataGrid1.DataMode = flexDMBound End If End Sub
[其他解释] 暂时这样解决的,但还是有点小问题。就是模式切换过程中排序的结果不能保留 Private Sub DataGrid1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 And Shift = 1 Then '同时按下鼠标左键及SHIFT按键 DataGrid1.DataMode = flexDMFree Else DataGrid1.DataMode = flexDMBound End If End Sub