rs.Open " select kind_spec.kind_name 。", db, adOpenStatic, adLockReadOnlyMsgBox "查询完毕", vbCritical
MSHFlexGrid1.ColWidth(1) = 3500
Set MSHFlexGrid1.DataSource = rs
MSHFlexGrid1.Refresh这样在表格里显示的内容我更改不了,能不能我在MSHFLEXGRID的某个格子内可以更改数字然后再点个COMMOND就可以添加进数据库呢?

解决方案 »

  1.   

    你可以这样进行改动MSHFlexGrid1.TextMatrix(2, 1) = "a"
    MSHFlexGrid1.TextMatrix(2, 2) = "a"还可以改相关联的Rs记录集的内容MSHFlexGrid1表格的内容就会改变的!
      

  2.   

    这个我知道,但是我MSHFlexGrid1里面显示的数字我香直接在上面改动,却动不了啊
      

  3.   

    浮一个TEXTBOX就行了。Public Function EditCell(Flex As MSHFlexGrid, TextObj As TextBox)
        With Flex
            If (TextObj.Left + TextObj.Width) > (.Left + .Width - 255) Then
                TextObj.Move 0, 0
                .SetFocus
                Exit Function
            End If
            TextObj.Top = .CellTop + .Top
            TextObj.Left = .CellLeft + .Left
            TextObj.Width = .CellWidth - 2 * Screen.TwipsPerPixelX
            TextObj.Height = .CellHeight - 2 * Screen.TwipsPerPixelY
            TextObj.Visible = True
            TextObj.Text = .Text
            TextObj.SelStart = 0
            TextObj.SelLength = Len(TextObj.Text)
            TextObj.SetFocus
        End With
    End Function/调用方法
    EditCell MSHFLEXGRIDNAME, TEXTBOXNAME
    然后在textbox失去焦点是赋值给单元格就行了
      

  4.   

    如果不用TEXT直接在MSHFLEXGRID里面修改又方便又美观,可以吗?》修改完后点command1直接在数据库里就UPDATE了?可以吗?
      

  5.   

    MSHFLEXGRID是不能修改的
    text框只要写意点辅助代码,是可以做到和直接在MSHFLEXGRID里面修改一样的效果的。自己找点资料看看吧
      

  6.   

    哦是这样啊 ,我知道了谢谢你,那DATAGRID里面可以直接更改吗?