Когда мне приходилось добавлять основные групповые заголовки в повторителе, я делал это с помощью элемента управления Literal в ItemTemplate:
<asp:Literal runat="server" Text='<%# GetGroupHeading(Eval("Group")) %>' />
Метод 'GetGroupHeading' в коде отслеживал заголовок предыдущей группы и отправлял обратно '
Имя группы
' или пустую строку, если мы были в той же группе, что и предыдущий элемент. Как я уже сказал, я сделал это на повторителе, поэтому не уверен, что он охватит то, что вам нужно для ListView.