我想控制datareport里面按某列排序,总不能每一个列都在DataEnvironment中建一个command吧,怎么动态改变command的sql值?

解决方案 »

  1.   

    Private Sub datagrid1_HeadClick(ByVal ColIndex As Integer)
        With rs
            If .State Then
                Select Case ColIndex
                    Case 0
                        If .Sort = "id" Then     '假设第一个字段名为“ID”
                            .Sort = "id desc"
                          Else
                            .Sort = "id"
                        End If
                    Case 1
                        If .Sort = "name" Then   ‘假设第二个字段名为“name”
                            .Sort = "name desc"
                          Else
                            .Sort = "name"
                        End If
                    Case 2
                        ...
                End Select
            End If
        End With
    End Sub
      

  2.   

    在datareport好像不能动态的排序,要么就是改SQL加ORDER BY,要么用LISTVIEW可以动态按列排序!