RadAutoCompleteBox允许我选择已经选择的项目。 这样,它允许用户复制所选项目。
我在样本http://demos.telerik.com/aspnet-ajax/autocompletebox/examples/default/defaultcs.aspx
上的发生方式相同当我按下' n'并选择南希。它去了盒子。 然后我按“' n'并再次选择南希。然后我在盒子上拿到2个Nancyes。
预期吗? 我可以阻止它在下拉列表中显示所选项目吗?
提前致谢。
答案 0 :(得分:2)
您可以通过对基础数据源执行适当的查询并排除那些与已添加条目的文本匹配的字段来阻止项目显示在下拉列表中。为此,您可以使用RadAutoCompleteBox的OnDataSourceSelect事件:
http://www.telerik.com/help/aspnet-ajax/autocompletebox-ondatasourceselect.html
如果已经选择了具有相同文本(或值)的条目,则可以使用的另一种方法是阻止选择某个项目。这可以在控件的OnClientEntryAdding客户端事件中实现,如果找到匹配则取消其传播:
<script type="text/javascript">
function OnClientEntryAdding (sender, eventArgs) {
var entries = sender.get_entries(),
count = entries.get_count();
for (var i = 0; i < count; i++) {
if(entries.getEntry(i).get_text() == eventArgs.get_entry().get_text())
{
eventArgs.set_cancel(true);
}
}
}
</script>