XAF网络列分组

时间:2017-12-30 13:17:30

标签: xaf

如果有人使用eXpressApp Framework(XAF) 我试图通过集合中的一列或两列对listView进行分组,Web模块没有运气,提前感谢

Private Sub SCA_ViewBy_Execute(sender As Object, e As SingleChoiceActionExecuteEventArgs) Handles SCA_ViewBy.Execute
    If SCA_ViewBy.SelectedIndex = 0 Then
        Dim listEditor As GridListEditor = TryCast((CType(View, ListView)).Editor, GridListEditor)
        If listEditor IsNot Nothing Then
            Dim gridView As GridView = listEditor.GridView

            gridView.BeginSort()
            Try
                gridView.ClearGrouping()
                gridView.Columns("Division").GroupIndex = 0
                gridView.Columns("SubDivision").GroupIndex = -1
            Finally
                gridView.EndSort()
            End Try
        End If

    ElseIf SCA_ViewBy.SelectedIndex = 1 Then

        Dim listEditor As GridListEditor = TryCast((CType(View, ListView)).Editor, GridListEditor)

        If listEditor IsNot Nothing Then
            Dim gridView As GridView = listEditor.GridView

            gridView.BeginSort()
            Try
                gridView.ClearGrouping()
                gridView.Columns("Division").GroupIndex = 0
                gridView.Columns("SubDivision").GroupIndex = 1
            Finally
                gridView.EndSort()
            End Try


        End If
    End If

End Sub

1 个答案:

答案 0 :(得分:0)

谢谢,我找到了一个有效的解决方案

Private Sub SCA_ViewBy_Execute(sender As Object, e As SingleChoiceActionExecuteEventArgs) Handles SCA_ViewBy.Execute
    If SCA_ViewBy.SelectedIndex = 0 Then
        '    Dim listEditor As GridListEditor = TryCast((CType(View, ListView)).Editor, GridListEditor)
        '    If listEditor IsNot Nothing Then
        '        Dim gridView As GridView = listEditor.GridView

        '        gridView.BeginSort()
        '        Try
        '            gridView.ClearGrouping()
        '            gridView.Columns("Division").GroupIndex = 0
        '            gridView.Columns("SubDivision").GroupIndex = -1
        '        Finally
        '            gridView.EndSort()
        '        End Try
        '    End If

        Dim listEditor1 As ASPxGridListEditor = TryCast((CType(View, ListView)).Editor, ASPxGridListEditor)
        If listEditor1 IsNot Nothing Then
            Dim gridView As ASPxGridView = CType(listEditor1.Grid, ASPxGridView)
            gridView.ClientInstanceName = View.Id
            Dim divisionColumns As GridViewDataColumn = TryCast(gridView.Columns("Division"), GridViewDataColumn)
            'Dim subdivisionColumns As GridViewDataColumn = TryCast(gridView.Columns("SubDivision"), GridViewDataColumn)
            If divisionColumns IsNot Nothing Then
                'detailsColumns.DataItemTemplate = New UpDownButtonsTemplate()
                gridView.ClearSort()
                gridView.SortBy(divisionColumns, DevExpress.Data.ColumnSortOrder.Ascending)
                gridView.GroupBy(divisionColumns, 0)
                gridView.ExpandAll()
            End If
        End If


    ElseIf SCA_ViewBy.SelectedIndex = 1 Then

        Dim listEditor1 As ASPxGridListEditor = TryCast((CType(View, ListView)).Editor, ASPxGridListEditor)
        If listEditor1 IsNot Nothing Then
            Dim gridView As ASPxGridView = CType(listEditor1.Grid, ASPxGridView)
            gridView.ClientInstanceName = View.Id
            Dim divisionColumns As GridViewDataColumn = TryCast(gridView.Columns("Division"), GridViewDataColumn)
            Dim subdivisionColumns As GridViewDataColumn = TryCast(gridView.Columns("SubDivision"), GridViewDataColumn)
            If divisionColumns IsNot Nothing Then
                'detailsColumns.DataItemTemplate = New UpDownButtonsTemplate()
                gridView.ClearSort()
                gridView.SortBy(divisionColumns, DevExpress.Data.ColumnSortOrder.Ascending)
                gridView.GroupBy(divisionColumns, 0)
                gridView.GroupBy(subdivisionColumns, 1)
                gridView.ExpandAll()
            End If
        End If
    Else

    End If

End Sub