ListBox

前台代码
        <asp:ListBox ID="LB" runat="server" AutoPostBack="true" Width="100" Height="100">
            <asp:ListItem>0</asp:ListItem>
            <asp:ListItem>1</asp:ListItem>
            <asp:ListItem>2</asp:ListItem>
            <asp:ListItem>3</asp:ListItem>
            <asp:ListItem>4</asp:ListItem>
        </asp:ListBox>
               
        <asp:Button ID="btn1" runat="server" Text="最上" οnclick="btn1_Click" />
        <asp:Button ID="btn5" runat="server" Text="最尾" οnclick="btn5_Click"/>
        <asp:Button ID="btn2" runat="server" Text="上一个" οnclick="btn2_Click"/>
        <asp:Button ID="btn3" runat="server" Text="下一个" οnclick="btn3_Click"/>
        <asp:Button ID="btn4" runat="server" Text="Up" CommandName="up" οnclick="btn4_Click"/>               
        <asp:Button ID="btn6" runat="server" Text="Down" CommandName="down" οnclick="btn4_Click"/>

 

后台代码

  protected void btn1_Click(object sender, EventArgs e)
        {
            LB.SelectedIndex = 0;
        }

        protected void btn2_Click(object sender, EventArgs e)
        {
            if (LB.SelectedIndex > 0)
            {
                LB.SelectedIndex = LB.SelectedIndex - 1;
            }
        }

        protected void btn3_Click(object sender, EventArgs e)
        {
            if (LB.SelectedIndex < LB.Items.Count - 1)
            {
                LB.SelectedIndex = LB.SelectedIndex + 1;
            }
        }

        protected void btn5_Click(object sender, EventArgs e)
        {
            LB.SelectedIndex = LB.Items.Count - 1;
        }
       
        protected void btn4_Click(object sender, EventArgs e)
        {
            if (((Button)sender).CommandName == "up" && LB.SelectedIndex > 0 || ((Button)sender).CommandName == "down" && LB.SelectedIndex < LB.Items.Count - 1)
            {
                int index;
                if (((Button)sender).CommandName == "up")
                {
                    index = -1;
                }
                else
                {
                    index = 1;
                }

                ListItem lt = new ListItem(LB.SelectedItem.Text, LB.SelectedItem.Value);

                LB.Items[LB.SelectedIndex].Text = LB.Items[LB.SelectedIndex + index].Text;               
                LB.Items[LB.SelectedIndex].Value = LB.Items[LB.SelectedIndex + index].Value;
               
                LB.Items[LB.SelectedIndex + index].Text = lt.Text;
                LB.Items[LB.SelectedIndex + index].Value = lt.Value;
               
                LB.SelectedIndex = LB.SelectedIndex + index;

            }
        }

注释:

if (((Button)sender).CommandName == "up" && LB.SelectedIndex > 0 || ((Button)sender).CommandName == "down" && LB.SelectedIndex < LB.Items.Count - 1)
                //命令的发送者是谁将其转换成button;对应的是那个具体的button;控件ListBox的选中条目
            {
                int index;
                if (((Button)sender).CommandName == "up")
                {
                    index = -1;
                }
                else
                {
                    index = 1;
                }

                ListItem lt = new ListItem(LB.SelectedItem.Text, LB.SelectedItem.Value);
                //用来保存选中行的Text和Value

                LB.Items[LB.SelectedIndex].Text = LB.Items[LB.SelectedIndex + index].Text;               
                LB.Items[LB.SelectedIndex].Value = LB.Items[LB.SelectedIndex + index].Value;
                //将新的选中条目的Text和Value值赋值给选中的条目

                LB.Items[LB.SelectedIndex + index].Text = lt.Text;
                LB.Items[LB.SelectedIndex + index].Value = lt.Value;
                //将先前选中的条目的Text和Value赋值给后选中的条目

                LB.SelectedIndex = LB.SelectedIndex + index;
                //设置选中条目的变化
            }

转载于:https://www.cnblogs.com/meroselove/archive/2010/11/05/1870256.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值