Я пытаюсь написать некоторые тестовые сценарии для XamDataGrid. В этих сценариях я хотел бы установить группировку на одном поле. Этот код вызывает сетку к группе, как ожидаются, когда я запустить приложение и дважды щелкните таблицу:Как читать сгруппированные записи в XamDataGrid, когда группировка задана программно в тестах?
Private Sub MyGrid_MouseDoubleClick(sender As Object, e As MouseButtonEventArgs) Handles MyGrid.MouseDoubleClick Dim xamDataGrid As XamDataGrid = CType(sender, XamDataGrid) Dim field As Field = xamDataGrid.FieldLayouts(0).Fields("A") Dim fieldSortDescription As New FieldSortDescription With {.Field = field, .Direction = ListSortDirection.Ascending, .IsGroupBy = True} xamDataGrid.FieldLayouts(0).SortedFields.Add(fieldSortDescription) End Sub
В испытаниях, после запуска что-то очень похожего на отчетах и ViewableRecords коллекция не отражают группировку. xamDataGrid.ViewableRecords(0)
- это DataRecord, а не GroupByRecord. Вот код из теста:
<TestMethod()> Public Sub Test() Dim xamDataGrid As New XamDataGrid xamDataGrid.DataSource = dataSource.DefaultView xamDataGrid.BeginInit() xamDataGrid.EndInit() Dim field As Field = xamDataGrid.FieldLayouts(0).Fields("A") Dim fieldSortDescription As New FieldSortDescription With {.Field = field, .Direction = ListSortDirection.Ascending, .IsGroupBy = True} xamDataGrid.FieldLayouts(0).SortedFields.Add(fieldSortDescription) ' exception thrown here because xamDataGrid.ViewableRecords(0) is a DataRecord Dim groupByRecord As GroupByRecord = CType(xamDataGrid.ViewableRecords(0), GroupByRecord) ' ... End Sub
Как сетка будет обновляться или иначе вынуждены отражать группировку, установленный код?
Спасибо за ваше время.