Можно ли сделать пользовательскую группировку в элементе управления ASP.NET ListView? - PullRequest
6 голосов
/ 01 июня 2009

Вы можете определить GroupItemCount только в ListView, но что если вы хотите выполнить группировку на основе свойства элементов в источнике данных? Сортировать из специальной группы по. Источник данных отсортирован по этому свойству.

Я видел несколько примеров, когда некоторая разметка в ItemTemplate была условно показана, но я хочу использовать GroupTemplate, если это возможно.

Возможно ли это?

Ответы [ 3 ]

4 голосов
/ 02 июня 2009

Когда мне приходилось добавлять основные групповые заголовки в повторителе, я делал это с помощью элемента управления Literal в ItemTemplate:

<asp:Literal runat="server" Text='<%# GetGroupHeading(Eval("Group")) %>' />

Метод 'GetGroupHeading' в коде отслеживал заголовок предыдущей группы и отправлял обратно '

Имя группы

' или пустую строку, если мы были в той же группе, что и предыдущий элемент. Как я уже сказал, я сделал это на повторителе, поэтому не уверен, что он охватит то, что вам нужно для ListView.
2 голосов
/ 11 мая 2010

Да, Ник отлично повёл. Вот мой код

Dim sCategory_Descr As String
Function GetGroupHeading(ByVal sGroupName As String) As String
    Dim sReturn As String
    If sCategory_Descr <> sGroupName Then
        sCategory_Descr = sGroupName
        sReturn = "<H5>Category: " & UCase(sGroupName) & "</H5>"
    Else
        sReturn = ""
    End If
        Return sReturn
End Function 

И мой item_template

<ItemTemplate>                    
    <tr>
        <td style="background-color:#ccc;" colspan="2" id="tdCategory_Placeholder" runat="server" >
            <asp:Label Font-Bold="true"  ID="Literal1" runat="server" Text='<%# GetGroupHeading(Eval("Category_Descr")) %>' /> 
        </td>
    </tr>                                     
    <tr>
        <td > 
            <asp:DynamicControl1 />                     
        </td>                                               
        <td > 
            <asp:DynamicControl2 />
        </td>                     
    </tr>
</ItemTemplate>
0 голосов
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...