1,通過雙擊左邊listbox選項增加到右邊的listbox,經過測試,已經成功
protected void Page_Load(object sender, EventArgs e)<br /> {<br /> if (!IsPostBack)<br /> {</p><p> if (!Page.IsStartupScriptRegistered("lstCarLeft")) { ListBox_DblClick("lstCarLeft", Page, lstCarLeft, "lstCarLeft", "lstCarRight"); }<br /> if (!Page.IsStartupScriptRegistered("lstCarRight")) { ListBox_DblClick("lstCarRight", Page, lstCarRight, "lstCarRight", "lstCarLeft"); }<br /> }</p><p> }</p><p> public void ListBox_DblClick(string Key, Page page, System.Web.UI.WebControls.WebControl webcontrol, string RemoveListBox, string AddListBox)<br /> {<br /> RemoveListBox = "document.getElementById('" + RemoveListBox + "')"; AddListBox = "document.getElementById('" + AddListBox+"')";<br /> string mflistboxjs = "<mce:script language=javascript><!--<br />function change(RemoveListBox,AddListBox)";<br /> mflistboxjs += "{";<br /> mflistboxjs += "var addOption=document.createElement('option'); /n";<br /> mflistboxjs += "var index1; /n"; mflistboxjs += "if(RemoveListBox.length==0)return(false);/n";<br /> mflistboxjs += "index1=RemoveListBox.selectedIndex; /n "; mflistboxjs += "if(index1<0)return(false);/n";<br /> mflistboxjs += "addOption.text=RemoveListBox.options(index1).text; /n";<br /> mflistboxjs += "addOption.value=RemoveListBox.value; /n";<br /> mflistboxjs += "AddListBox.add(addOption); /n";<br /> mflistboxjs += "RemoveListBox.remove (index1) /n";<br /> mflistboxjs += "}";<br /> mflistboxjs += "<br />// --></mce:script>";<br /> page.RegisterStartupScript(Key, mflistboxjs);<br /> webcontrol.Attributes.Add("onDblClick", "change(" + RemoveListBox + "," + AddListBox + ");");<br /> }<br />
2.在兩個listbox中放兩個左右的箭頭.通過點擊增加或刪除,下面的方法比較好,而且可以在左右移動的時候,統計listbox裡面的資料
下面順便統計將listbox裡面的金額進行了增加..
protected void imgBtnAdd_Click(object sender, ImageClickEventArgs e)<br /> {<br /> decimal sum = Convert.ToDecimal(ViewState["Sum"]);</p><p> if (lstCarLeft.SelectedItem == null)<br /> {<br /> ScriptManager.RegisterStartupScript(this, GetType(), "84", "alert('請在左邊選擇車牌號碼');", true);</p><p> return;<br /> }<br /> for (int i = 0; i < lstCarLeft.Items.Count; i++)<br /> {<br /> if (lstCarLeft.Items[i].Selected)<br /> {<br /> ListItem li = new ListItem();<br /> li.Text = lstCarLeft.SelectedItem.Text;<br /> li.Value = lstCarLeft.SelectedValue;<br /> string[] strValue = Spit(li.Value, "*");<br /> sum += int.Parse(strValue[1]);</p><p> lstCarRight.Items.Add(li);</p><p> lstCarLeft.Items.Remove(lstCarLeft.SelectedItem);<br /> }</p><p> ViewState["Sum"] = sum;<br /> }<br /> txt_JSJE.Text = ViewState["Sum"].ToString();<br /> txt_YSJE.Text = ViewState["Sum"].ToString();</p><p> }</p><p> /// <summary><br /> /// 移除右邊的listbox<br /> /// </summary><br /> /// <param name="sender"></param><br /> /// <param name="e"></param><br /> protected void imgBtnRemove_Click(object sender, ImageClickEventArgs e)<br /> {</p><p> decimal sum = Convert.ToDecimal(ViewState["Sum"]);<br /> if (lstCarRight.SelectedItem == null)<br /> {<br /> ScriptManager.RegisterStartupScript(this, GetType(), "84", "alert('請在右邊選擇車牌號碼');", true);</p><p> return;<br /> }<br /> for (int i = 0; i < lstCarRight.Items.Count; i++)<br /> {</p><p> if (lstCarRight.Items[i].Selected)<br /> {<br /> ListItem li = new ListItem();<br /> li.Text = lstCarRight.SelectedItem.Text;<br /> li.Value = lstCarRight.SelectedValue;<br /> lstCarLeft.Items.Add(li);<br /> string[] strValue = Spit(li.Value, "*");</p><p> sum -= Convert.ToDecimal(strValue[1]);<br /> lstCarRight.Items.Remove(lstCarRight.SelectedItem);<br /> }<br /> ViewState["Sum"] = sum;<br /> }<br /> txt_JSJE.Text = ViewState["Sum"].ToString();<br /> txt_YSJE.Text = ViewState["Sum"].ToString();<br /> }