分不多,唯一的20 。。可希望各位前辈帮忙。 MSHFLEXGRID以成功绑定adodc,并正常显示数据。想实现在MSHFLEXGRID修改数据后能通过adodc保存更新。有代码如下:
Private Sub MSHFlexGrid1_Click()
   With MSHFlexGrid1
      .TextMatrix(.Row, .Col) = InputBox("输入")
   End With
End SubPrivate Sub Command1_Click()
   Adodc1.Recordset.Update  '或者Adodc1.Recordset.UpdateBatch 都试过了
   Adodc1.Refresh
   MSHFlexGrid1.Refresh
End Sub可就是不能保存数据,dategrid是可以的,可惜不会升降序排列,只能用msflexgrid了。
等待中

解决方案 »

  1.   

    要绑定adodc最好用datagrid,datagrid是可以进行升降序排列的
    Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
      Adodc1.Recordset.Sort = DataGrid1.Columns(ColIndex).DataField & " asc " '升
      Adodc1.Recordset.Sort = DataGrid1.Columns(ColIndex).DataField & " desc" '降End Sub
      

  2.   

    不能排序啊。。出现错误了。。能检查一下吗? 而且 我也不单单只用dategrid 控件 我还有 vsflexgrid 控件,同样出现了类似的问题。修改表格后,不能保存更新。
      

  3.   

    我这边没有错误,把你写的代码发过来看一下,DATAGRID要绑定ADODC哦
      

  4.   

    我这样写吧,用代码连接数据库 。。Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer)
      Adodc1.Recordset.Sort = DataGrid1.Columns(ColIndex).DataField & "asc" '升
    End SubPrivate Sub Form_Load()
       Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\1.mdb;Persist Security Info=False"
       Adodc1.RecordSource = "kkk"
       Adodc1.Refresh
       Set DataGrid1.DataSource = Adodc1
    End Sub可就是排序有错 还有 大哥 我们好像跑题了。我还有一些特殊问题需要用到msflexgrid控件 所以需要此空间 请问能实现我所说的吗??
      

  5.   

    明天上班后帮你试试有没有你说的那个问题
    mshflexgrid控件那只能用SQL语句进行更新了
      

  6.   

    现在ok,哥们说的方法我学了,能进行排序,可问题是不能排进数据库里面啊。就是说,刷新或第二次打开数据库datagrid1的现实还是老样子 并不是排序显示的啊。就算在.Sort = "aaa asc"  '升
    后面加 Adodc1.Refresh  也无法改变。我想要实现数据库的排序,就像在数据库里面的 选中一列后按顺序排序,保存,,这样的效果 ,怎么样呢?Private Sub Command1_Click()
    With Adodc1.Recordset
       .Sort = "aaa asc"  '升
       .MoveFirst
       Do Until .EOF
          Debug.Print .Fields("bbb")
          .MoveNext
       Loop
    End With
    End SubPrivate Sub Form_Load()
       Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\1.mdb;Persist Security Info=False"
       Adodc1.RecordSource = "kkk"
       Adodc1.Refresh
       Set DataGrid1.DataSource = Adodc1
    End Sub
      

  7.   

    数据库里好像不能将排序保存吧,只能在查询的时候排序。
    如果DataGrid是绑定ADODC,在每次数据库刷新时就用.sort方法重新排序,如果是动态给DataGrid.datasource赋值,那么在每次给DataGrid.datasource重新赋值的时候用.sort方法重新排序。
      

  8.   

    没有其他方法在数据库排序了吗?或者保存整个表的数据呢?不用sql那种,还有其他方法吗?vsflexgrid怎么样,这么强大的grid也不能实现吗?
      

  9.   

    MSHFlexGrid涉及到数据库时,是没有datagrid强大的
    当绑定到数据库时,MSHFlexGrid 所显示的是只读数据
      

  10.   

    datagrid没有排序,只能通过adodc的sort 进行排序吗?
      

  11.   

    不建议用binding method to encode
      

  12.   

    即使不能解决保存数据问题 可lauxm给了我指示,从而也解决了,虽然效率慢了点 勉强也可以吧 谢谢lauxm