日期:2014-05-18  浏览次数:20453 次

如何控制listbox里的选项上移下移
如何控制listbox里的选项上移下移,要具体的实现代码啊

------解决方案--------------------
前台:
<form id= "form1 " runat= "server ">
<div>
<asp:ListBox ID= "ListBox1 " runat= "server " SelectionMode= "Multiple ">
<asp:ListItem Value= "0 "> 苹果 </asp:ListItem>
<asp:ListItem Value= "1 "> 荔汁 </asp:ListItem>
<asp:ListItem Value= "2 "> 桃子 </asp:ListItem>
<asp:ListItem Value= "3 "> 里 </asp:ListItem>
</asp:ListBox>
<br />
<br />
<asp:Button ID= "Button1 " runat= "server " Text= "置顶 " OnClick= "Button1_Click " /> <br />
<br />
<asp:Button ID= "btnUp " runat= "server " Text= "上移 " OnClick= "btnUp_Click " /> <br />
<br />
<asp:Button ID= "btnDown " runat= "server " Text= "下移 " OnClick= "btnDown_Click " /> <br />
<br />
<asp:Button ID= "Button2 " runat= "server " Text= "置底 " OnClick= "Button2_Click " /> <br />
</div>
</form>

后台:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Default2 : System.Web.UI.Page
{

protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.ListBox1.SelectedIndex = 0;
}

}

protected string getSelectedValue()
{
return this.ListBox1.SelectedItem.Value;
}

protected string getSelectedText()
{
return this.ListBox1.SelectedItem.Text;
}

protected void btnUp_Click(object sender, EventArgs e)
{
if (this.ListBox1.SelectedIndex > 0)
{
string newValue = getSelectedValue();
string newText = getSelectedText();

//获取当前索引号
int newIndex = this.ListBox1.SelectedIndex;


//交换位置
this.ListBox1.SelectedItem.Value = this.ListBox1.Items[newIndex - 1].Value;
this.ListBox1.SelectedItem.Text = this.ListBox1.Items[newIndex - 1].Text;
this.ListBox1.Items[newIndex - 1].Value = newValue;
this.ListBox1.Items[newIndex - 1].Text = newText;

//设定上一项为当前项
this.ListBox1.SelectedIndex--;
}
else
{
Response.Write( " <script> alert( '超出 '); </script> ");
}

}
protected void btnDown_Click(object sender, EventArgs e)
{
if (this.ListBox1.SelectedIndex < this.ListBox1.Items.Count - 1)
{
string newValue = getSelectedValue();
string newText = getSelectedText();

//获取当前索引号
int newIndex = this.ListBox1.SelectedIndex;


//交换位置