两个ListBox的相互操作
一.一种情况是这四个按钮用服务器控件:
/// 选中全部
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSelectAll_ServerClick(object sender, EventArgs e)
{
for (int i = 0; i < lb_Sourse.Items.Count; i++)
{
lb_NewName.Items.Add(new ListItem(lb_Sourse.Items[i].Text, lb_Sourse.Items[i].Value));
}
while(lb_Sourse.Items.Count > 0)
{
lb_Sourse.Items.Remove(lb_Sourse.Items[0]);
}
}
/**//// <summary>
/// 选中一个
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSelectOne_ServerClick(object sender, EventArgs e)
{
if (lb_Sourse.SelectedIndex != -1)
{
string StrPersonFlow = "";
for (int i = this.lb_Sourse.Items.Count; i > 0; i--)
{
if (this.lb_Sourse.Items[i - 1].Selected)
{
StrPersonFlow += this.lb_Sourse.Items[i - 1].Value + ",";
this.lb_NewName.Items.Add(this.lb_Sourse.Items[i - 1]);
this.lb_Sourse.Items.Remove(this.lb_Sourse.Items[i - 1]);
}
}
}
else
{
Msg.Text = "请选中人员!";
}
}
/**//// <summary>
/// 删除单个
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDelOne_ServerClick(object sender, EventArgs e)
{
if (lb_NewName.SelectedIndex != -1)
{
string StrPersonFlow = "";
for (int i = this.lb_NewName.Items.Count; i > 0; i--)
{
if (this.lb_NewName.Items[i - 1].Selected)
{
this.lb_Sourse.Items.Add(this.lb_NewName.Items[i - 1]);
this.lb_NewName.Items.Remove(this.lb_NewName.Items[i - 1]);
StrPersonFlow = this.lb_NewName.Items[i - 1].Value + ",";
}
}
}
else
{
Msg.Text = "请选中人员!";
}
}
/**//// <summary>
/// 删除全部
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDelAll_ServerClick(object sender, EventArgs e)
{
for (int i = 0; i < lb_NewName.Items.Count; i++)
{
lb_Sourse.Items.Add(new ListItem(lb_NewName.Items[i].Text, lb_NewName.Items[i].Value));
}
while (lb_NewName.Items.Count > 0)
{
lb_NewName.Items.Remove(lb_NewName.Items[0]);
}
}
二.第二种情况是用javascript实现:
{
var lst1=window.document.getElementById("<%=lb_Sourse.ClientID %>");
var lst2=window.document.getElementById("<%=lb_NewName.ClientID %>");
var lstindex=lst1.selectedIndex;
var length = lst2.options.length;
var isExists = false;
if(lstindex<0)
return;
else if(length != null)
{
for(var i=0;i < length; i++)
{
if(lst2.options[i].text == lst1[lstindex].text && lst2.options[i].value == lst1[lstindex].value)
{
isExists = true;
}
}
}
else
{
return;
}
if (isExists == false)
{
var v = lst1.options[lstindex].value;
var t = lst1.options[lstindex].text;
lst2.options[lst2.options.length] = new Option(t,v,true,true);
lst1.options[lstindex].parentNode.removeChild(lst1.options[lstindex]);
}
else
{
alert("所选条目已经存在");
return false;
}
}
function DelOne()
{
var lst1=window.document.getElementById("<%=lb_Sourse.ClientID %>");
var lst2=window.document.getElementById("<%=lb_NewName.ClientID %>");
var lstindex=lst2.selectedIndex;
if(lstindex>=0)
{
// var v = lst2.options[lstindex].value+";";
var v = lst2.options[lstindex].value;
var t = lst2.options[lstindex].text;
lst1.options[lst1.options.length] = new Option(t,v,true,true);
lst2.options[lstindex].parentNode.removeChild(lst2.options[lstindex]);
}
}
function SelectAll()
{
var lst1=window.document.getElementById("<%=lb_Sourse.ClientID %>");
var length = lst1.options.length;
for(var i=0;i<length;i++)
{
var v = lst1.options[i].value;
var t = lst1.options[i].text;
var lst2=window.document.getElementById("<%=lb_NewName.ClientID %>");
lst2.options[i] = new Option(t,v,true,true);
}
}
function DelAll()
{
var lst2=window.document.getElementById("<%=lb_NewName.ClientID %>");
var length = lst2.options.length;
for(var i=length;i>0;i--)
{
lst2.options[i-1].parentNode.removeChild(lst2.options[i-1]);
}
}
转载于:https://www.cnblogs.com/ygl127/archive/2007/07/26/832749.html
两个ListBox的相互操作相关推荐
- Winform/WPF实例中的相互操作
介绍一下如何在实例中相互操作,比如在程序A中调用程序B中的方法,看起来不太可能,不过我们可以利用Win32API来实现.我们需要用到2个Win32函数: uint RegisterWindowsMes ...
- 判断子序列不同的子序列两个字符串的删除操作编辑距离
引言 下面的四种题相互间都有联系,都是类似编辑距离类的题目,这里从简单开始,逐渐深入: 判断子序列 给定字符串 s 和 t ,判断 s 是否为 t 的子序列. 字符串的一个子序列是原始字符串删除一些( ...
- 【C++】两个类的相互引用
有时候在设计数据结构的时候,可能会遇到两个类需要相互引用的情形.比如类A有类型为B的成员,而类B又有类型为A的成员. 那么这种情形下,两个类的设计上需要注意什么呢? 同一文件 尝试方案 将A和B的定义 ...
- QML与C++的相互操作:实现强大的Qt应用程序
欢迎来到这篇关于 QML 与 C++ 相互操作的博客!QML 是一种用于创建现代用户界面的声明式编程语言,而 C++ 是一种面向对象的高性能编程语言.在 Qt 应用程序中,QML 通常用于设计 UI, ...
- HTML教程-各窗口间相互操作(Frame Target)
文章来源: 山西之窗 由Frames分出来的几个窗口的内容并不是静止不变的,往往一个窗口的内容随着另一个窗口的要求而不断变化,这就提高了Frames的利用价值.为了完成各窗口之间的相互操作,我们必须为 ...
- shell中join链接多个域_shell 如何实现两个表的join操作
shell 如何实现两个表的join操作 今天研究的一个问题是:在Shell 脚本中如何实现两个表的 join 操作,这里说的两个表示的其实是 两个文件,但是文件是列表的形式,有固定的分割符号,即就相 ...
- (9)C#之ADO.NET 两个ListBox联动案例
这次的案例是做两个ListBox的联动,例如第一个ListBox显示的是全国各省份的名称,然后在用户点击某一个省份的同时,第二个ListBox显示出该省份的各城市的名字. ①这需要在数据库中创建一张表 ...
- git之工作区、版本区、远程仓库之间相互操作
工作区.版本区.远程仓库之间相互操作示意图 工作区: IDE操作源码的⽬录. 版本库 版本库⼜名仓库,英⽂名repository. 这个⽬录⾥⾯的所有⽂件都可以被Git管理起来,每个⽂件的修改.删除, ...
- Leetcode 583.两个字符串的删除操作
两个字符串的删除操作 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符. 示例 1: 输入: "se ...
最新文章
- Python函数之计算规则图形的面积
- Adobe Flex 3.0 和 AIR 1.0 正式发布
- centos 6.5配置php,CentOS 6.5安装php5.6
- java queue源码_java源码解读--queue
- Python之编写登陆接口
- 非IE浏览器下让界面变灰色
- 玩转Web之servlet(一)---怎样创建一个servlet
- VMRC开启拷贝粘贴
- NLP大牛菲利普•科恩机器翻译权威著作
- android9最新系统,【5/31更新】Android 9.0系统升级时间的最新情况
- shal()函数绕过和session验证绕过
- python俄罗斯方块小游戏实验报告_用Python实现童年小游戏俄罗斯方块
- 全球免费公共 DNS 解析服务器 IP 地址列表推荐 (解决无法上网/加速/防劫持)
- springBoot配置 https 和http转htpps协议。
- 农村小伙不畏艰难,创业开装饰公司,年产值竟达上千万元?
- 博弈对抗游戏AI的技术方法的一些总结和思考
- mysql时间格式秒微秒_mysql 时间类型精确到毫秒、微秒及其处理
- 从Node.js访问文件系统
- 在学习JavaScript的过程
- log4j实现发送邮件功能