2011-12-31 67 views
3

有没有我可以在asp.net紧裹的CheckBoxList以便让说,如果你的列表中有20个复选框任何方式,有10例的两列:的CheckBoxList Asp.Net C#

Box     Box 
Box     Box 
Box     Box 
Box     Box 
Box     Box 
Box     Box 
Box     Box 
Box     Box 

我当前的代码就是:

<asp:CheckBoxList ID="Numbers" runat="server" AutoPostBack = "true"> 
     <asp:ListItem> 1 </asp:ListItem> 
     <asp:ListItem> 2 </asp:ListItem> 
     <asp:ListItem> 3 </asp:ListItem> 
     <asp:ListItem> 4 </asp:ListItem> 
     <asp:ListItem> 5 </asp:ListItem> 
     <asp:ListItem> 6 </asp:ListItem> 
     <asp:ListItem> 7 </asp:ListItem> 
     <asp:ListItem> 8 </asp:ListItem> 
     <asp:ListItem> 9 </asp:ListItem> 
     ...ect 
</asp:CheckBoxList> 

我想,一定有某种ASP标记或东西,让我清除复选框这个名单的。

+0

-1在这个问题上?请解释。这似乎是经过深思熟虑,铺陈和描述。 – 2011-12-31 04:12:48

回答

6

你在找什么是RepeatColumns财产和RepeatDirection财产。事情是这样的:

<asp:CheckBoxList ID="Numbers" runat="server" AutoPostBack = "true" 
    RepeatColumns="2" RepeatDirection="Vertical"> 
     <asp:ListItem> 1 </asp:ListItem> 
     <asp:ListItem> 2 </asp:ListItem> 
     <asp:ListItem> 3 </asp:ListItem> 
     <asp:ListItem> 4 </asp:ListItem> 
     <asp:ListItem> 5 </asp:ListItem> 
     <asp:ListItem> 6 </asp:ListItem> 
     <asp:ListItem> 7 </asp:ListItem> 
     <asp:ListItem> 8 </asp:ListItem> 
     <asp:ListItem> 9 </asp:ListItem> 
     ...ect 
</asp:CheckBoxList> 

按照下面的参考,也可以以编程方式在您的代码隐藏利用设置该属性的​​:

Numbers.RepeatDirection = RepeatDirection.Vertical; 
Numbers.RepeatColumns = 2; 

请参阅此作为参考:How to: Set Layout in a CheckBoxList Web Server Control

+0

非常好,那正是我需要的。谢谢! – 2011-12-31 03:38:09

+0

@美国。没问题,我很乐意提供帮助。 – 2011-12-31 03:44:36

4

是的,使用RepeatColumns属性。如果您只希望它在动态绑定控件并显示多于10个项目后以这种方式显示,则只需对Page_Load中的项目进行计数并将RepeatColumns设置为2(如果数据源包含的元素超过10个)。

Here是msdn文档的更多信息。