Подумав, ответ не может быть проще: отключить состояние просмотра сетки.
Я перепривязывал источник данных при каждой подкачке или сортировке, поэтому потребность в viewstate была минимальной, за исключением PageSize и PageIndex, которые я вынужден отслеживать вручную.
Это значительный компромисс: такими вещами, как PageSize и PageIndex, впоследствии необходимо управлять вручную, поскольку их состояние сохраняется в ViewState.
Итак, даже делая именно то, для чего предназначался, я решилпринять простое альтернативное решение:
If Cliente_ID <> Cliente_ID_Anterior Then
For i As Integer = 0 To e.Row.Cells.Count - 1
e.Row.Cells(i).Style("border-top") = "solid 1px #777777"
Next
e.Row.Cells(0).Style("border-bottom") = "none"
Else
e.Row.Cells(0).Text = " "
e.Row.Cells(0).Style("border-top") = "none"
e.Row.Cells(0).Style("border-bottom") = "none"
End If
Он по-прежнему группирует столбец, но по-другому и более удобен для сортировки.Я мог бы использовать ряды и сделать ячейки невидимыми, но было бы сложнее их сохранить.Кроме того, мне нужно нарисовать линию, когда пользователь наведет на нее курсор мыши, и размах строк сильно помешает.