.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();
}

 

 

posted @ 2019-08-22 10:43  suqq小白  阅读(231)  评论(0编辑  收藏  举报