asp.net 在listbox中实现上移、下移、置顶、置底效果
先看效果:
.jpg)
这个问题是我女朋友问我的,她学的是VB,我自己尝试用asp.net来完成,在同学的帮助下完成了.
具体实现大家可以看下面代码;
default2.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ListBox ID="ListBox1" runat="server" SelectionMode="Multiple">
<asp:ListItem Value="0">苹果</asp:ListItem>
<asp:ListItem Value="1">荔汁</asp:ListItem>
<asp:ListItem Value="2">桃子</asp:ListItem>
<asp:ListItem Value="3">里</asp:ListItem>
</asp:ListBox>
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="置顶" OnClick="Button1_Click" /><br />
<br />
<asp:Button ID="btnUp" runat="server" Text="上移" OnClick="btnUp_Click" /><br />
<br />
<asp:Button ID="btnDown" runat="server" Text="下移" OnClick="btnDown_Click" /><br />
<br />
<asp:Button ID="Button2" runat="server" Text="置底" OnClick="Button2_Click" /><br />
</div>
</form>
</body>
</html>
default2.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.ListBox1.SelectedIndex = 0;
}
}
protected string getSelectedValue()
{
return this.ListBox1.SelectedItem.Value;
}
protected string getSelectedText()
{
return this.ListBox1.SelectedItem.Text;
}
protected void btnUp_Click(object sender, EventArgs e)
{
if (this.ListBox1.SelectedIndex > 0)
{
string newValue = getSelectedValue();
string newText = getSelectedText();
//获取当前索引号
int newIndex = this.ListBox1.SelectedIndex;
//交换位置
this.ListBox1.SelectedItem.Value = this.ListBox1.Items[newIndex - 1].Value;
this.ListBox1.SelectedItem.Text = this.ListBox1.Items[newIndex - 1].Text;
this.ListBox1.Items[newIndex - 1].Value = newValue;
this.ListBox1.Items[newIndex - 1].Text = newText;
//设定上一项为当前项
this.ListBox1.SelectedIndex--;
}
else
{
Response.Write("<script>alert('超出');</script>");
}
}
protected void btnDown_Click(object sender, EventArgs e)
{
if (this.ListBox1.SelectedIndex < this.ListBox1.Items.Count - 1)
{
string newValue = getSelectedValue();
string newText = getSelectedText();
//获取当前索引号
int newIndex = this.ListBox1.SelectedIndex;
//交换位置
this.ListBox1.SelectedItem.Value = this.ListBox1.Items[newIndex + 1].Value;
this.ListBox1.SelectedItem.Text = this.ListBox1.Items[newIndex + 1].Text;
this.ListBox1.Items[newIndex + 1].Value = newValue;
this.ListBox1.Items[newIndex + 1].Text = newText;
//设定下一页为当前页
this.ListBox1.SelectedIndex++;
}
else
{
Response.Write("<script>alert('超出');</script>");
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string newValue = getSelectedValue();
string newText = getSelectedText();
//获取当前选中的索引
int newIndex = this.ListBox1.SelectedIndex;
for(int i = newIndex - 1;i >= 0;i --)
{
this.ListBox1.Items[i + 1].Text = this.ListBox1.Items[i].Text;
this.ListBox1.Items[i + 1].Value = this.ListBox1.Items[i].Value;
}
this.ListBox1.Items[0].Value = newValue;
this.ListBox1.Items[0].Text = newText;
this.ListBox1.SelectedIndex = 0;
}
protected void Button2_Click(object sender, EventArgs e)
{
string newValue = getSelectedValue();
string newText = getSelectedText();
//获取当前选中的索引
int newIndex = this.ListBox1.SelectedIndex;
//获取总的数目
int newCount = this.ListBox1.Items.Count;
for (int i = newIndex; i < newCount - 1; i++)
{
this.ListBox1.Items[i].Text = this.ListBox1.Items[i + 1].Text;
this.ListBox1.Items[i].Value = this.ListBox1.Items[i + 1].Value;
}
this.ListBox1.Items[newCount-1].Value = newValue;
this.ListBox1.Items[newCount-1].Text = newText;
this.ListBox1.SelectedIndex = newCount-1;
}
}
上一篇:asp.net GridView.DataKeyNames 属性
下一篇:asp VBScript 数组变量
感谢以下网友对网站提出的建议:
1、感谢“蓝树叶kiss”网友发现一个评论漏洞。(2009-2-28)
2、感谢“陈臣”对程序优化和seo方面的建议。(2009-3-18)
- 作者:阿会楠
- 来源:搜索吧
- 日期:2007-5-14 22:53:00
- 点击:1046
请稍侯......
- 不錯的東東,
打包demoupload.asp,js部分尾多了一個逗號
有空多交流:QQ 37787553 - 不錯的東東,
打包demoupload.asp,js部分尾多了一個逗號
有空多交流:QQ 37787553 - 站长 好!
- 网站不错<br>不知道URl是用什么生成的?
- update A
set A.OriginSalary=A.OriginSalary+B.AddSalary
from dbo.OriginSalary as A left join dbo.AddSalary as B on A.O_ID=B.O_ID - update A
set A.OriginSalary=A.OriginSalary+B.AddSalary
from dbo.OriginSalary as A left join dbo.AddSalary as B on A.O_ID=B.O_ID - 例子举得不好,为什么不直接用update解决呢?
update set A.OriginSalary=A.OriginSalary+B.AddSalary
from dbo.OriginSalary as A left join dbo.AddSalary as B on A.O_ID=B.O_ID - 例子举得不好,为什么不直接用update解决呢?
update set A.OriginSalary=A.OriginSalary+B.AddSalary
from dbo.OriginSalary as A left join dbo.AddSalary as B on A.O_ID=B.O_ID - 恭喜站长改进 支持
- 改版了? 牛叉
- 网站不错^-^ 多多向站长学习
- 212
- 啊 是