ListBox單選、複選(類購物清單)
Step 1. 加入兩個ListBox
SelectionMode屬性改為Multiple
Step 2. 以code建立ListBox1(在此命名為a)選項,目的ListBox名為b
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
a.Items.Add(new ListItem("a", "a"));
a.Items.Add(new ListItem("b", "b"));
a.Items.Add(new ListItem("c", "c"));
a.Items.Add(new ListItem("d", "d"));
a.Items.Add(new ListItem("e", "e"));
}
}
Step 3. 加入四個Button (加入一個、加入全部、移除一個、移除全部)
protected void Button1_Click(object sender, EventArgs e)
{
//將選項加入至右邊
for(int i = 0; i <a.Items.Count; i++)
{
if(a.Items[i].Selected == true)
{
b.Items.Add(a.Items[i].Text);
a.Items[i].Enabled = false;
}
}
//將加入右邊之選項從左邊ListBox中刪除
for(int i = a.Items.Count-1; i>=0; i--)
{
if(a.Items[i].Enabled == false)
{
a.Items.RemoveAt(i);
}
}
}
//所有項目移至右邊
protected void Button3_Click(object sender, EventArgs e)
{
if(a.Items.Count > 0)
{
for(int i =0; i<a.Items.Count-1; i++ )
{
b.Items.Add(a.Items[i]);
}
}
a.Items.Clear(); //清除所有左邊項目
}
protected void Button4_Click(object sender, EventArgs e)
{
//將選項加入至左邊
for (int i = 0; i < b.Items.Count; i++)
{
if (b.Items[i].Selected == true)
{
a.Items.Add(b.Items[i].Text);
b.Items[i].Enabled = false;
}
}
//將加入左邊之選項從右邊ListBox中刪除
for (int i = b.Items.Count - 1; i >= 0; i--)
{
if (b.Items[i].Enabled == false)
{
b.Items.RemoveAt(i);
}
}
}
//所有項目移至左邊
protected void Button2_Click(object sender, EventArgs e)
{
if (b.Items.Count > 0)
{
for (int i = 0; i < b.Items.Count - 1; i++)
{
a.Items.Add(b.Items[i]);
}
}
b.Items.Clear(); //清除所有右邊項目
}
//顯示最後移至右邊之選項
protected void Button5_Click(object sender, EventArgs e)
{
if(b.Items.Count > 0 )
{
int i = 1;
foreach(ListItem item in b.Items)
{
cTXT.Text += string.Format("{0:00}.{1}</br>", i, item.Text);
i++;
}
}
else
{
Response.Write("<script>alert('尚未選擇任何選項')</script>");
}
}