本人做了一个数据查询的程序,使用datagrid+ado显示数据
希望在程序中实现这样一个功能:当双击某列后,数据按该列排序
重新显示出来。
    已经知道用clone实现该功能,但是如何获取列头信息作为排序
条件呢。
    请各位高手指点迷津
     感谢!!!!!

解决方案 »

  1.   

    编写DATAGRID的DBLCLICK事件,首先获取当前所在列的字段名,然后将数据记录集查询字符串的ORDER BY改为以该字段排序,再调用数据记录集的REQEURY方法。
    你自己试试吧,我还没有试!
      

  2.   

    因该用DataGrid1HeadClick事件吧?
    我知道大概方法
    我想知道的是如何获取列头的信息
    就是如何获取当前的字段名称啊
      

  3.   

    进入DataGrid的自定义属性指定它的名字和绑定字段就可以了呀!!
    或者,选取Datagrid1,按后键菜单,选属性,设定就OK了!!明白?
      

  4.   

    使用ADODC1控件显示数据没问题!一切正常.(请教高手!)
    但是用ADO代码连接
        Set DataGrid1.DataSource = rs
    不显示,也无错误提示!(注:rs可以在文本框显示数据,说明是没问题的)
            vb6<sp5>  ado 2.7 library!(请教高手!)
      

  5.   

    对,是用HeadClick事件就行了,但不知你的DataGrid控件是在界面设计时就绑定数据源还是在运行时指定数据源,在运行时就灵活一些,所在列有个序号,从0开始,与其对应的字段名就是你在查询数据源时相应表的字段名,顺序是对好的!
      

  6.   

    'DataGrid不能显示数据问题!(急~~~~~~~~~~~~)代码如下:Option Explicit
    Private cn As ADODB.Connection
    Private rsShuzhong As ADODB.RecordsetPrivate Sub Form_Load()
    '************************************树种表连接****************************
        Set cn = New ADODB.Connection
        cn.Provider = "Microsoft.Jet.OLEDB.4.0"
        cn.Open App.Path & "/kfsystem_sz.mdb"    Set rsShuzhong = New ADODB.Recordset
        rsShuzhong.Open "树种表", cn, adOpenStatic, adLockOptimistic, adCmdTable 
        display
        
    End Sub   Private Function display()
        Set DataGrid1.DataSource = rsShuzhong
        txtShuzhong.Text = rsShuzhong!树种
        
    End Function'帮帮忙!!有办法吗?!???
      

  7.   

    数据记录集执行前加一句:
    rs.CursorLocation = adUseClient
      

  8.   

    我是在运行是绑定的
    萧萧的意思我不是很懂
    是不是这样写
    dim aa as string
    dim rs as new adodb.recordset
    ....
    aa=rs.row(i) ?
      

  9.   

    I服了YOU!Private Sub datagrid_HeadClick(ByVal ColIndex As Integer)
        MsgBox "DataGrid控件的第 " & ColIndex & " 列被选中!"
    End Sub