当前位置: 代码迷 >> ASP.NET >> 100分:DROPDOWNLIST与 LISTBOX联动
  详细解决方案

100分:DROPDOWNLIST与 LISTBOX联动

热度:10032   发布时间:2013-02-26 00:00:00.0
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();
  相关解决方案