日期:2014-05-19  浏览次数:20458 次

100分求助:DROPDOWNLIST与 LISTBOX联动
请问,页面有一个DROPDOWNLIST,一个LISTBOX,选择DROPDOWNLIST绑定后的数据,然后点添加按钮,选中的值出现在LISTBOX中,同时可以从DROPDOWNLIST中删除.
这个要怎么实现?


------解决方案--------------------
为什么一定要用AJAX?
在DropDownList的SelectedIndexChanging事件中:
listBoxVarName.Items.Add(((DropDownList)sender).SelectedItem);
listBoxVarName.Items.Remove(((DropDownList)sender).SelectedItem);//删除一定要在添加之后,否则会出现空值异常...

如果要AJAX,就把它们放到UpdatePanel中

------解决方案--------------------
http://www.codeproject.com/useritems/Select_List_Box.asp

刚好看到了这篇文章,并试用了一下感觉不错。
你的这个问题和这个类似,区别只是这个两边都是LISTBOX,参照着改一下应该很容易的。

昨天把这个改成了可以多项同时移动的,把页面后台代码也给你参考一下:

protected void Button1_Click(object sender, EventArgs e)
{
MoveItem(lstMain, lstSelect);
}


protected void Button2_Click(object sender, EventArgs e)
{
MoveItem(lstSelect, lstMain);
}

private void MoveItem(ListBox fromListBox, ListBox toListBox)
{
if (fromListBox.SelectedIndex > -1)
{
ListItemCollection listItemCollection = new ListItemCollection();
foreach (ListItem listItem in fromListBox.Items)
{
if (listItem.Selected)
{
listItemCollection.Add(listItem);
}
}
foreach (ListItem listItem in listItemCollection)
{
toListBox.Items.Add(listItem);
fromListBox.Items.Remove(listItem);
}
}
}
------解决方案--------------------
protected void Button1_Click3(object sender, EventArgs e) { ListItem item = this.DropDownList1.SelectedItem; if (item != null) { item.Selected = false; this.ListBox1.Items.Add(item); this.DropDownList1.Items.Remove(item); } }
------解决方案--------------------
具体实现过程:
ListBox id:ListBox1
DROPDOWNLIST id:DROPDOWNLIST1
在添加按钮的click事件中包括,对DROPDOWNLIST1数据源的数据的删除操作和对ListBox1数据源的数据的添加操作
ListBox1.DataBind();
DROPDOWNLIST1.DataBind();