【发布时间】:2009-04-21 21:01:32
【问题描述】:
对于 asp.net,是否存在带有复选框(webcontrol)的好的多选下拉列表?
非常感谢
【问题讨论】:
标签: c# asp.net web-controls
对于 asp.net,是否存在带有复选框(webcontrol)的好的多选下拉列表?
非常感谢
【问题讨论】:
标签: c# asp.net web-controls
您可以使用@987654321@ 控件或使用@987654322@ 控件并将SelectionMode 属性设置为Multiple。
【讨论】:
jQuery Dropdown Check List 可用于将常规的多选 html 元素转换为下拉复选框列表,它适用于客户端,因此可以与任何服务器端技术一起使用:
(来源:googlecode.com)
【讨论】:
试试这个直接继承自 CheckBoxList 的服务器控件(免费,开源): http://dropdowncheckboxes.codeplex.com/
【讨论】:
我在http://dropdowncheckboxes.codeplex.com/ 使用了开源控件,并且对它非常满意。如果“选定”标题太长,我的补充是允许检查文件列表仅使用文件名而不是完整路径。在您的回发处理程序中调用我的添加而不是 UpdateSelection:
// Update the caption assuming that the items are files<br/>
// If the caption is too long, eliminate paths from file names<br/>
public void UpdateSelectionFiles(int maxChars) {
StringBuilder full = new StringBuilder();
StringBuilder shorter = new StringBuilder();
foreach (ListItem item in Items) {
if (item.Selected) {
full.AppendFormat("{0}; ", item.Text);
shorter.AppendFormat("{0}; ", new FileInfo(item.Text).Name);
}
}
if (full.Length == 0) Texts.SelectBoxCaption = "Select...";
else if (full.Length <= maxChars) Texts.SelectBoxCaption = full.ToString();
else Texts.SelectBoxCaption = shorter.ToString();
}
【讨论】:
HTML 不支持带有复选框的下拉列表。您可以有一个下拉列表或一个复选框列表。您可以使用 javascript 和隐藏 div 来伪造一个下拉复选框列表,但这比标准复选框列表更不可靠。
当然有看起来像下拉复选框列表的 3rd 方控件,但它们使用的是 div 技巧。
您还可以使用双列表框,它通过在两个列表之间来回移动项目来处理多选。这有一个额外的好处是可以轻松地一次查看所有选定的项目,即使总项目列表很长
(想象一下世界上每个城市的列表,只有第一个和最后一个被选中)
【讨论】:
我喜欢 Infragistics 控件。 WebDropDown 有你需要的东西。唯一的缺点是它们可能有点花钱。
【讨论】:
【讨论】:
这是一个很酷的 ASP.NET Web 控件,名为多选列表字段,位于http://www.xnodesystems.com/。它能够:
(1) 多选; (2) 自动完成; (3) 验证。
【讨论】: