.net listbaox获取值及移除
因为不是只是移除和添加。后续我需要获取我选择的人员text和value
下面有单击事件,和批量选择人员进行添加和移除。
①待选人员到已选人员,待选 不移除,已选人员点击可清空
②待选人员到已选人员,待选移除,已选人员到待选。
为了方便采用了第一种。
第二种下面已提供方法。
页面:
<table class="form-table"> <tr> <td>待选</td> <td></td> <td>已选</td> <%--<td></td>--%> </tr> <tr> <td> <div class="td_margin"> <asp:ListBox ID="lbWaitSelect" runat="server" Height="200px" Width="400px" SelectionMode="Multiple" OnSelectedIndexChanged="lbWaitSelect_SelectedIndexChanged" AutoPostBack="true"></asp:ListBox> </div> </td> <td style="vertical-align: middle"> <div class="td_margin"> <asp:Button ID="btnSelect" CssClass="btns" runat="server" Text="==>>" OnClick="btnSelect_Click" ToolTip="选择" /> <br /> <asp:Button ID="btnRemove" CssClass="btns" runat="server" Text="<<==" OnClick="btnRemove_Click" ToolTip="移除" /> </div> </td> <td> <div class="td_margin"> <asp:ListBox ID="lbSelected" runat="server" Height="200px" Width="400px" SelectionMode="Multiple" OnSelectedIndexChanged="lbSelected_SelectedIndexChanged" AutoPostBack="true"></asp:ListBox> </div> </td> <td style="vertical-align: middle"> <div class="td_margin"> <asp:Button ID="btnMoveUp" CssClass="btns" runat="server" Text="上移" OnClick="btnMoveUp_Click" /> <br /> <asp:Button ID="btnMoveDown" CssClass="btns" runat="server" Text="下移" OnClick="btnMoveDown_Click" /> </div> </tr> </table>
后台:
待选人员触发事件:
protected void lbWaitSelect_SelectedIndexChanged(object sender, EventArgs e) { //可批量拉取选择人员 IList<string> strSelectValue = lbWaitSelect.GetSelectedItemsValue(); IList<string> strSelectText = lbWaitSelect.GetSelectedItemsText(); IList<string> strSelectedValue = lbSelected.GetAllItemsValue(); if (strSelectValue.Count > 0) { for (int i = 0; i < strSelectValue.Count; i++) { string value = strSelectValue[i]; string text = strSelectText[i]; if (!strSelectedValue.Contains(value)) { ListItem[] items = new ListItem[] { new ListItem(text, value) }; lbSelected.Items.AddRange(items); } } } #region 获取单个点击人员,并移除待选 //IList<string> strSelectValue = lbSelected.GetAllItemsValue(); //if (!strSelectValue.Contains(lbWaitSelect.SelectedValue.ToString())) //{ // ListItem[] items = new ListItem[] { new ListItem(lbWaitSelect.SelectedItem.ToString(), lbWaitSelect.SelectedValue) }; // lbSelected.Items.AddRange(items); // lbSelected.Items.Add(lbWaitSelect.SelectedValue); // //lbSelected.Items.Add(lbWaitSelect.SelectedItem.ToString()); // //lbWaitSelect.Items.RemoveAt(lbWaitSelect.SelectedIndex); //} //else //{ // lbWaitSelect.Items.RemoveAt(lbWaitSelect.SelectedIndex); //} #endregion } 已选人员触发事件: protected void lbSelected_SelectedIndexChanged(object sender, EventArgs e) { #region 获取单个点击人员,并移除已选 //IList<string> strSelectValue = lbWaitSelect.GetAllItemsValue(); //if (!strSelectValue.Contains(lbSelected.SelectedValue.ToString())) //{ // ListItem[] items = new ListItem[] { new ListItem(lbSelected.SelectedItem.ToString(), lbSelected.SelectedValue) }; // lbWaitSelect.Items.AddRange(items); // //lbWaitSelect.Items.Add(lbSelected.SelectedItem.ToString()); // //lbSelected.Items.RemoveAt(lbSelected.SelectedIndex); //} //else //{ // lbSelected.Items.RemoveAt(lbSelected.SelectedIndex); //} #endregion lbSelected.RemoveSelectedItems(); }
//页面上的选择click事件 protected void btnSelect_Click(object sender, EventArgs e) { //lbWaitSelect.CopySelectedItemsTo(lbSelected); IList<string> strSelectValue = lbWaitSelect.GetSelectedItemsValue(); IList<string> strSelectText = lbWaitSelect.GetSelectedItemsText(); IList<string> strSelectedValue = lbSelected.GetAllItemsValue(); if (strSelectValue.Count > 0) { for (int i = 0; i < strSelectValue.Count; i++) { string value = strSelectValue[i]; string text = strSelectText[i]; if (!strSelectedValue.Contains(value)) { ListItem[] items = new ListItem[] { new ListItem(text, value) }; lbSelected.Items.AddRange(items); } } } }
//页面上的移除click事件 protected void btnRemove_Click(object sender, EventArgs e) { lbSelected.RemoveSelectedItems(); }