如何在asp.net中实现listbox item值上下移动?(转)
2 <div>
3 <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="original_{0}"
4 SelectMethod="GetDepartmentsAll" TypeName="Cvv.BLL.Bases.DepartmentBLL"></asp:ObjectDataSource>
5 <table border="0" width="300">
6 <tr>
7 <td colspan="4" align=center>
8 流程名称:<asp:TextBox ID="tbProcessName" runat="server"></asp:TextBox>
9 <asp:RequiredFieldValidator ID="rfvProcessName" runat="server" ErrorMessage="请输入" ControlToValidate="tbProcessName" Display="Dynamic">*</asp:RequiredFieldValidator>
10 <asp:RegularExpressionValidator ID="revProcessName" runat="server" ErrorMessage="请不要输入单引号和空白" ControlToValidate="tbProcessName" ValidationExpression="[^'\s]{1,50}" Display="Dynamic"></asp:RegularExpressionValidator>
11 </td>
12 </tr>
13 <tr>
14 <td width="40%">部门列表</td>
15 <td align="center" style="width: 20%">操作</td>
16 <td style="width: 40%">流程顺序</td>
17 <td style="width: 43px">调整</td>
18 </tr>
19 <tr>
20 <td style="width: 40%">
21 <asp:ListBox ID="ListBox1" runat="server" DataSourceID="ObjectDataSource1" DataTextField="DepartmentName"
22 DataValueField="DepartmentID" Height="411px" SelectionMode="Multiple" Width="235px">
23 </asp:ListBox></td>
24 <td align="center" style="width: 20%">
25 <asp:Button ID="Addbtn" runat="server" OnClick="Addbtn_Click" Text="添加" /><br><br>
26 <asp:Button ID="Deletebtn" runat="server" OnClick="Deletebtn_Click" Text="删除" /></td>
27 <td style="width: 40%">
28 <asp:ListBox ID="ListBox2" runat="server" Height="411px" SelectionMode="Multiple"
29 Width="235px"></asp:ListBox></td>
30 <td style="width: 43px">
31 <asp:Button ID="Upbtn" runat="server" OnClick="Upbtn_Click" Text="上移" /><br><br>
32 <asp:Button ID="Downbtn" runat="server" OnClick="Downbtn_Click" Text="下移" /></td>
33 </tr>
34 <tr>
35 <td colspan="4" align=center>
36 <asp:Button ID="precessadd" runat="server" Text="确认并提交" OnClick="precessadd_Click" /></td>
37 </tr>
38 </table>
39<input id="ListBox1_Click" type="hidden" value="false" name="ListBox1_Click" runat="server">
40<input id="ListBox2_Click" type="hidden" value="false" name="ListBox2_Click" runat="server">
41<script language="vbscript">
42option explicit
43sub ListBox1_ondblclick()
44myform.ListBox1_Click.value="true"
45myform.submit()
46end sub
47
48sub ListBox2_ondblclick()
49myform.ListBox2_Click.value="true"
50myform.submit()
51end sub
52</script>
53 </div>
54 </form>
后台代码:
2 {
3 if (IsPostBack)
4 {
5 if (ListBox1_Click.Value == "true")
6 {
7 Addbtn_Click(sender,e);
8 }
9
10
11 if (ListBox2_Click.Value == "true")
12 {
13 Deletebtn_Click(sender,e);
14 }
15 }
16 }
17 protected void precessadd_Click(object sender, EventArgs e)
18 {
19 if (IsValid)
20 {
21 //写入流程名称
22 //声明实体类
23 Cvv.Mode.Bases.Process _process = new Cvv.Mode.Bases.Process();
24
25 //从表单中取值初始化实体类
26 _process.ProcessName = tbProcessName.Text;
27
28 //声明业务对象
29 Cvv.BLL.Bases.ProcessBLL _processBLL = new Cvv.BLL.Bases.ProcessBLL();
30 if (_processBLL.InsertProcess(_process) > 0) //操作成功
31 {
32
33 }
34 else //操作失败
35 {
36 Response.Write("<script>alert('很抱歉,添加失败!');location.href ='" + Request.ServerVariables["HTTP_REFERER"] + "';</Script>");
37 Response.End();
38 }
39
40 //写入流程过程
41 //声明实体类.声明业务对象
42 Cvv.Mode.Bases.ProcessDetailed _processDetailed = new Cvv.Mode.Bases.ProcessDetailed();
43 Cvv.BLL.Bases.ProcessDetailedBLL _processDetailedBLL = new Cvv.BLL.Bases.ProcessDetailedBLL();
44
45 //从表单中取值初始化实体类,并循环写入
46 for (int i = 0; i < ListBox2.Items.Count; i++)
47 {
48 _processDetailed.ProcessID = _process.ProcessID;
49 _processDetailed.DepartmentID = new Guid(ListBox2.Items[i].Value);
50 _processDetailed.ProcessOrder = i + 1;
51 //写入
52 _processDetailedBLL.InsertProcessDetailed(_processDetailed);
53
54 }
55 Response.Write("<script>alert('祝贺您,添加成功,请继续操作!');location.href ='" + Request.ServerVariables["HTTP_REFERER"] + "';</Script>");
56 }
57 }
58
59 //添加
60 protected void Addbtn_Click(object sender, EventArgs e)
61 {
62 int i = 0;
63 while (i < ListBox1.Items.Count)
64 {
65 if (ListBox1.Items[i].Selected == true)
66 {
67 ListBox2.Items.Add(ListBox1.Items[i]);
68 ListBox1.Items.Remove(ListBox1.Items[i]);
69 }
70 else
71 i += 1;
72 }
73 }
74 //删除
75 protected void Deletebtn_Click(object sender, EventArgs e)
76 {
77 int i = 0;
78 while (i < ListBox2.Items.Count)
79 {
80 if (ListBox2.Items[i].Selected == true)
81 {
82 ListBox1.Items.Add(ListBox2.Items[i]);
83 ListBox2.Items.Remove(ListBox2.Items[i]);
84 }
85 else
86 i += 1;
87 }
88 }
89 //上移
90 protected void Upbtn_Click(object sender, EventArgs e)
91 {
92 //若不是第一行则上移
93 if (ListBox2.SelectedIndex > 0)
94 {
95 string name = ListBox2.SelectedItem.Text;
96 string ID = ListBox2.SelectedItem.Value;
97 int index = ListBox2.SelectedIndex;
98 ListBox2.SelectedItem.Text = ListBox2.Items[index - 1].Text;
99 ListBox2.SelectedItem.Value = ListBox2.Items[index - 1].Value;
100 ListBox2.Items[index - 1].Text = name;
101 ListBox2.Items[index - 1].Value = ID;
102 ListBox2.SelectedIndex--;
103 }
104 }
105 //下移
106 protected void Downbtn_Click(object sender, EventArgs e)
107 {
108 //若不是最后一行则下移
109 if (ListBox2.SelectedIndex >= 0 && ListBox2.SelectedIndex < ListBox2.Items.Count - 1)
110 {
111 string name = ListBox2.SelectedItem.Text;
112 string ID = ListBox2.SelectedItem.Value;
113 int index = ListBox2.SelectedIndex;
114 ListBox2.SelectedItem.Text = ListBox2.Items[index + 1].Text;
115 ListBox2.SelectedItem.Value = ListBox2.Items[index + 1].Value;
116 ListBox2.Items[index + 1].Text = name;
117 ListBox2.Items[index + 1].Value = ID;
118 ListBox2.SelectedIndex++;
119 }
120 }
在.net中使用obojectdata为:
2 <div>
3 <table border="0" width="300">
4 <tr>
5 <td width="40%">
6 <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="original_{0}"
7 SelectMethod="GetDepartmentsAll" TypeName="Cvv.BLL.Bases.DepartmentBLL"></asp:ObjectDataSource>
8 <asp:ListBox ID="list1" runat="server" DataSourceID="ObjectDataSource1" DataTextField="DepartmentName"
9 DataValueField="DepartmentID" Height="411px" Width="235px" ondblclick="moveOption(document.myform.list1,document.myform.list2)"></asp:ListBox>
10 </td>
11 <td width="20%" align="center">
12 <input type="button" value="添加" onclick="moveOption(document.myform.list1,document.myform.list2)"><br><br>
13 <input type="button" value="删除" onclick="moveOption(document.myform.list2,document.myform.list1)">
14 </td>
15 <td width="40%">
16 <asp:ListBox ID="list2" runat="server" ondblclick="moveOption(document.myform.list2,document.myform.list1)" Height="411px" Width="235px"></asp:ListBox>
17 </td>
18 <td>
19 <button onclick="changepos(list2,-1)" type="button">上移</button><br>
20 <button onclick="changepos(list2,1)" type="button">下移</button>
21 </td>
22 </tr>
23 </table>
24<script language="JavaScript">
25<!--
26function moveOption(e1, e2){
27 try{
28 for(var i=0;i<e1.options.length;i++){
29 if(e1.options[i].selected){
30 var e = e1.options[i];
31 e2.options.add(new Option(e.text, e.value));
32 e1.remove(i);
33 i=i-1
34 }
35 }
36 //document.myform.city.value=getvalue(document.myform.list2);
37 }
38 catch(e){}
39}
40function getvalue(geto){
41 var allvalue = "";
42 for(var i=0;i<geto.options.length;i++){
43 allvalue +=geto.options[i].value + ",";
44 }
45 return allvalue;
46}
47function changepos(obj,index)
48{
49 if(index==-1){
50 if (obj.selectedIndex>0){
51 obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex-1))
52 }
53 }
54 else if(index==1){
55 if (obj.selectedIndex<obj.options.length-1){
56 obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex+1))
57 }
58 }
59}
60//-->
61</script>
62 </div>
63 </form>
下面是通用的:
2 <div>
3 <table border="0" width="300">
4 <tr>
5 <td width="40%">
6 <select style="WIDTH:100%" multiple name="list1" size="12" ondblclick="moveOption(document.myform.list1, document.myform.list2)">
7 <option value="北京">北京</option>
8 <option value="上海">上海</option>
9 <option value="山东">山东</option>
10 <option value="安徽">安徽</option>
11 <option value="重庆">重庆</option>
12 <option value="福建">福建</option>
13 <option value="甘肃">甘肃</option>
14 <option value="广东">广东</option>
15 <option value="广西">广西</option>
16 <option value="贵州">贵州</option>
17 <option value="海南">海南</option>
18 <option value="河北">河北</option>
19 <option value="黑龙江">黑龙江</option>
20 <option value="河南">河南</option>
21 <option value="湖北">湖北</option>
22 <option value="湖南">湖南</option>
23 <option value="内蒙古">内蒙古</option>
24 <option value="江苏">江苏</option>
25 <option value="江西">江西</option>
26 <option value="吉林">吉林</option>
27 <option value="辽宁">辽宁</option>
28 <option value="宁夏">宁夏</option>
29 <option value="青海">青海</option>
30 <option value="山西">山西</option>
31 <option value="陕西">陕西</option>
32 <option value="四川">四川</option>
33 <option value="天津">天津</option>
34 <option value="西藏">西藏</option>
35 <option value="新疆">新疆</option>
36 <option value="云南">云南</option>
37 <option value="浙江">浙江</option>
38 <option value="香港">香港</option>
39 <option value="澳门">澳门</option>
40 <option value="台湾">台湾</option>
41 <option value="其他">其他</option>
42 </select>
43 </td>
44 <td width="20%" align="center">
45 <input type="button" value="添加" onclick="moveOption(document.myform.list1, document.myform.list2)"><br><br>
46 <input type="button" value="删除" onclick="moveOption(document.myform.list2, document.myform.list1)">
47 </td>
48 <td width="40%">
49 <select style="WIDTH:100%" multiple name="list2" size="12" ondblclick="moveOption(document.myform.list2, document.myform.list1)">
50 </select>
51 </td>
52 <td>
53 <button onclick="changepos(list2,-1)" type="button">上移</button><br>
54 <button onclick="changepos(list2,1)" type="button">下移</button>
55 </td>
56 </tr>
57 </table>
58 值:<input type="text" name="city" size="40">
59<script language="JavaScript">
60<!--
61function moveOption(e1, e2){
62 try{
63 for(var i=0;i<e1.options.length;i++){
64 if(e1.options[i].selected){
65 var e = e1.options[i];
66 e2.options.add(new Option(e.text, e.value));
67 e1.remove(i);
68 i=i-1
69 }
70 }
71 document.myform.city.value=getvalue(document.myform.list2);
72 }
73 catch(e){}
74}
75function getvalue(geto){
76 var allvalue = "";
77 for(var i=0;i<geto.options.length;i++){
78 allvalue +=geto.options[i].value + ",";
79 }
80 return allvalue;
81}
82function changepos(obj,index)
83{
84 if(index==-1){
85 if (obj.selectedIndex>0){
86 obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex-1))
87 }
88 }
89 else if(index==1){
90 if (obj.selectedIndex<obj.options.length-1){
91 obj.options(obj.selectedIndex).swapNode(obj.options(obj.selectedIndex+1))
92 }
93 }
94}
95//-->
96</script>
97 </div>
98 </form>
转载于:https://www.cnblogs.com/cooltonyhawk/articles/704714.html
如何在asp.net中实现listbox item值上下移动?(转)相关推荐
- asp.net应用程序_如何在ASP.NET中为聊天应用程序构建键入指示器
asp.net应用程序 by Neo Ighodaro 由新Ighodaro 如何在ASP.NET中为聊天应用程序构建键入指示器 (How to build a typing indicator fo ...
- 如何在ASP.NET中生成HTML5离线Web应用
传统的Web应用程序有一个很大的症结是当用户的网络连接不好时,应用会加载失败,为了 解决这一问题,HTML5中引入了Web的离线工作的功能.离线功能使得Web应用程序类似于本机应用程序,当断开网络连接 ...
- 解析:如何在 ASP.NET 中下载文件
解析:如何在 ASP.NET 中下载文件 来源:博客园 作者:dotnetWalker 这是笔者常被问到的一个问题,如何通过ASP.NET来下载文件,这个问题可大可小,我们先从小的开始.当我们要让用户 ...
- Stackoverflow热门问题(二十二)-如何在Windows cmd中得到程序返回值?
文章首发及后续更新:https://mwhls.top/2873.html 新的更新内容请到mwhls.top查看. 无图/无目录/格式错误/更多相关请到上方的文章首发页面查看. stackoverf ...
- 如何在ASP.Net 中把图片存入数据库
介绍 可能有很多的时候,我们急需把图片存入到数据库当中.在一些应用程序中,我们可能有一些敏感的资料,由于存储在文件系统(file system)中的东西,将很容易被某些用户盗取,所以这些数据不能存放在 ...
- scala中map添加值_如何在Scala Map中反转键和值
scala中map添加值 A Map is a data structure that stores data as key: value pair. 映射是一种将数据存储为键:值对的数据结构. Sy ...
- 如何在ASP.NET中使用Windows Live Web Bar
前言 Messenger Platform 团队将在 Mix 09 上推出新的 Windows Live Messenger Web Toolkit 和 Web Bar 控件,其中Web Bar控件包 ...
- ASP.NET开发之如何在ASP.NET中使用KindEditor编辑器
首先打开KindEditor的官网下载最新版的kindEditor 下载完成后解压,目录结构如下 由于我们使用的是ASP.NET,所以打开ASP.NET文件夹 这里有两个很重要的文件file_mana ...
- 如何在 ASP.NET 中下载文件
这是笔者常被问到的一个问题,如何通过ASP.NET来下载文件,这个问题可大可小,我们先从小的开始.当我们要让用户下载一个文件,最简单的方式是通过Response.Redirect指令: 殇﹖ ☆粉汐げ ...
最新文章
- Linked list(单链表)
- Kattis-What does the fox say 字符串处理+STL
- ORACLE11G RAC增加节点操作
- 内部类、包、修饰符、代码块
- java jlist删除选中的项_java jlist removeListSelectionListener 怎样删除已经建好的 ListSelectionListener...
- postgreSQL源码分析——索引的建立与使用——GIST索引(3)
- python怎么连接excel_python怎么连接excel
- 如何下载64位版本的eclipse 以及配置
- Slowquery图形化显示MySQL慢日志工具
- Unity3D 插件大全
- ZeNmap端口扫描工具详解10种扫描方式附使用脚本扫描教程
- linux文件复制覆盖命令
- 推荐电影电视剧下载最好去处
- 如何计算离职率(2)?
- 美国大学 计算机科学 排名,美国大学本科计算机专业排名TOP50榜单介绍
- arcgis for javascript 4.18 添加图片到地图(可用于实现雷达图片上图)
- 必备的 6 大计算机网络基础知识点!会 3 个以上就很牛逼了
- Leetcode994腐烂的橘子(广度搜索法)
- 微信「扫一扫识物」 的背后技术揭秘
- CSS实现首行缩进和悬挂缩进
热门文章
- vue process.env获取不到_从文档开始,重学vue(下)源码级别
- C++ primer第六章6.6函数匹配
- C++11学习 virtual(虚函数)的用法
- java -web html5学习1
- OpenCV 2.4.0 正式版发布,开源计算机视觉库
- CentOS7 使用 firewalld 打开关闭防火墙与端口
- oracle 对应的JDBC驱动 版本
- Junit Test使用样例
- 《算法竞赛进阶指南》0.4二分
- k8s强制删除pod