asp.net listview grouptemplate无效

时间:2014-09-27 19:00:35

标签: asp.net listview

我使用listview控件以表格形式显示项目列表;以6项为一组水平重复。然而,这对我来说根本不起作用。无论“GroupItemCount”设置如何,我总是每行获得一个项目。我在下面的代码中遗漏了什么。任何帮助或评论都非常感谢!

<asp:ListView runat="server" ID="SystemsListView" DataSourceID="PharmacySystemsEDS" GroupItemCount="6">
<LayoutTemplate>
    <table>
        <tbody>
            <asp:PlaceHolder runat="server" ID="groupPlaceholder"></asp:PlaceHolder>
        </tbody>
    </table>
</LayoutTemplate>
<GroupTemplate>
    <tr>
        <asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>
    </tr>
</GroupTemplate>
<ItemTemplate>
    <td>
        <label class="checkbox-inline">
            <input runat="server" id="SystemCheckBox" type="checkbox" value='<%#Eval("SystemId")%>'>
            <%#Eval("SystemName")%>
        </label>
    </td>
</ItemTemplate>

1 个答案:

答案 0 :(得分:0)

您正确定义GroupItemCount。你缺少的是占位符声明。定义ListView属性时,请确保同时填充ItemPlaceholderIDGroupPlaceholderID属性。以下是代码段的修改版本:

<asp:ListView runat="server" 
    ID="SystemsListView" 
    DataSourceID="PharmacySystemsEDS" 
    GroupItemCount="6" 
    ItemPlaceholderID="itemPlaceholder" 
    GroupPlaceholderID="groupPlaceholder">
<LayoutTemplate>
    <table>
        <tbody>
            <asp:PlaceHolder runat="server" ID="groupPlaceholder"></asp:PlaceHolder>
        </tbody>
    </table>
</LayoutTemplate>
<GroupTemplate>
    <tr>
        <asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>
    </tr>
</GroupTemplate>
<ItemTemplate>
    <td>
        <label class="checkbox-inline">
            <input runat="server" id="SystemCheckBox" type="checkbox" value='<%#Eval("SystemId")%>'>
            <%#Eval("SystemName")%>
        </label>
    </td>
</ItemTemplate>