全部.net为:

 1    <form id="myform" runat="server">
 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>

后台代码:

  1    protected void Page_Load(object sender, EventArgs e)
  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为:

 1    <form id="myform" runat="server">
 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>

下面是通用的:

 1    <form id="myform" runat="server">
 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值上下移动?(转)相关推荐

  1. asp.net应用程序_如何在ASP.NET中为聊天应用程序构建键入指示器

    asp.net应用程序 by Neo Ighodaro 由新Ighodaro 如何在ASP.NET中为聊天应用程序构建键入指示器 (How to build a typing indicator fo ...

  2. 如何在ASP.NET中生成HTML5离线Web应用

    传统的Web应用程序有一个很大的症结是当用户的网络连接不好时,应用会加载失败,为了 解决这一问题,HTML5中引入了Web的离线工作的功能.离线功能使得Web应用程序类似于本机应用程序,当断开网络连接 ...

  3. 解析:如何在 ASP.NET 中下载文件

    解析:如何在 ASP.NET 中下载文件 来源:博客园 作者:dotnetWalker 这是笔者常被问到的一个问题,如何通过ASP.NET来下载文件,这个问题可大可小,我们先从小的开始.当我们要让用户 ...

  4. Stackoverflow热门问题(二十二)-如何在Windows cmd中得到程序返回值?

    文章首发及后续更新:https://mwhls.top/2873.html 新的更新内容请到mwhls.top查看. 无图/无目录/格式错误/更多相关请到上方的文章首发页面查看. stackoverf ...

  5. 如何在ASP.Net 中把图片存入数据库

    介绍 可能有很多的时候,我们急需把图片存入到数据库当中.在一些应用程序中,我们可能有一些敏感的资料,由于存储在文件系统(file system)中的东西,将很容易被某些用户盗取,所以这些数据不能存放在 ...

  6. scala中map添加值_如何在Scala Map中反转键和值

    scala中map添加值 A Map is a data structure that stores data as key: value pair. 映射是一种将数据存储为键:值对的数据结构. Sy ...

  7. 如何在ASP.NET中使用Windows Live Web Bar

    前言 Messenger Platform 团队将在 Mix 09 上推出新的 Windows Live Messenger Web Toolkit 和 Web Bar 控件,其中Web Bar控件包 ...

  8. ASP.NET开发之如何在ASP.NET中使用KindEditor编辑器

    首先打开KindEditor的官网下载最新版的kindEditor 下载完成后解压,目录结构如下 由于我们使用的是ASP.NET,所以打开ASP.NET文件夹 这里有两个很重要的文件file_mana ...

  9. 如何在 ASP.NET 中下载文件

    这是笔者常被问到的一个问题,如何通过ASP.NET来下载文件,这个问题可大可小,我们先从小的开始.当我们要让用户下载一个文件,最简单的方式是通过Response.Redirect指令: 殇﹖ ☆粉汐げ ...

最新文章

  1. Linked list(单链表)
  2. Kattis-What does the fox say 字符串处理+STL
  3. ORACLE11G RAC增加节点操作
  4. 内部类、包、修饰符、代码块
  5. java jlist删除选中的项_java jlist removeListSelectionListener 怎样删除已经建好的 ListSelectionListener...
  6. postgreSQL源码分析——索引的建立与使用——GIST索引(3)
  7. python怎么连接excel_python怎么连接excel
  8. 如何下载64位版本的eclipse 以及配置
  9. Slowquery图形化显示MySQL慢日志工具
  10. Unity3D 插件大全
  11. ZeNmap端口扫描工具详解10种扫描方式附使用脚本扫描教程
  12. linux文件复制覆盖命令
  13. 推荐电影电视剧下载最好去处
  14. 如何计算离职率(2)?
  15. 美国大学 计算机科学 排名,美国大学本科计算机专业排名TOP50榜单介绍
  16. arcgis for javascript 4.18 添加图片到地图(可用于实现雷达图片上图)
  17. 必备的 6 大计算机网络基础知识点!会 3 个以上就很牛逼了
  18. Leetcode994腐烂的橘子(广度搜索法)
  19. 微信「扫一扫识物」 的背后技术揭秘
  20. CSS实现首行缩进和悬挂缩进

热门文章

  1. vue process.env获取不到_从文档开始,重学vue(下)源码级别
  2. C++ primer第六章6.6函数匹配
  3. C++11学习 virtual(虚函数)的用法
  4. java -web html5学习1
  5. OpenCV 2.4.0 正式版发布,开源计算机视觉库
  6. CentOS7 使用 firewalld 打开关闭防火墙与端口
  7. oracle 对应的JDBC驱动 版本
  8. Junit Test使用样例
  9. 《算法竞赛进阶指南》0.4二分
  10. k8s强制删除pod