我使用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>
答案 0 :(得分:0)
您正确定义GroupItemCount
。你缺少的是占位符声明。定义ListView
属性时,请确保同时填充ItemPlaceholderID
和GroupPlaceholderID
属性。以下是代码段的修改版本:
<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>