我有一个像这样的值
的数据表names
------
kumar
kiran
ram
bala
----
anu
sita
geetha
-----
asha
abc
tsdf
dsf
sdf
sdfrt
sdfsdfd
sdfdsfsdf
--------
我将我的表绑定到像这样的listview
ListItem ddlItem;
foreach (DataRow dr in dt.Rows)
{
ddlItem = new ListItem(dr["names"].ToString())
lbx.Items.Add(ddlItem);
}
这里甚至我需要绑定我的数据表,除了“-----”这些值之外的所有值。 它应该处于禁用模式,即使用户尝试选择它也不会被选中 我们怎样才能实现它。 对此的任何帮助都会很棒 谢谢
答案 0 :(得分:1)
标准列表框控件无法执行此操作。您可以将ListItem上的Enabled属性设置为False,但这会从列表中删除该项。最好的解决方案是在选择其中一个破折号时使用一些JavaScript来更改列表框的selectedIndex。
将OnClick处理程序添加到列表框控件中:
<asp:ListBox ID="lbTesting" runat="server" OnClick="testSelectedItem();">
然后添加以下JavaScript函数以检查所选项目:
<script language="javascript" type="text/javascript">
function testSelectedItem() {
var lbTesting = document.getElementById('lbTesting');
if (lbTesting[lbTesting.selectedIndex].innerText == '----') {
lbTesting.selectedIndex = 0;
}
}
</script>
显然,如果您需要测试不同数量的破折号,或者如果您在用户选择虚线条目时需要不同的功能,则可以稍微使用JavaScript功能 - 目前它只是重置为列表中的第一项
最后,您应该在服务器端添加一个编辑,以确保未选中虚线条目,因为用户可能禁用了JavaScript。