程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> ListBox實現上下移動

ListBox實現上下移動

編輯:.NET實例教程
protected void btn_up_Click(object sender, EventArgs e)
    ...{
        if (lb_busspot.SelectedIndex == -1)
        ...{
            return;
        }

        //獲得連續選中的項索引
        int[] Indices = lb_busspot.GetSelectedIndices();
        int length = Indices.Length;

        string text;
        string value;
        //如果選擇的最小索引是0,表示是最上面的項
        if (Indices[0] == 0)
        ...{
            return;
        }
        //判斷選擇多項時是否是連續的項
        if (Indices.Length != 1 && Indices[0] + length - 1 != Indices[length - 1])
        ...{
            MessageBox.Show(Page, "請選擇連續的項!");
            return;
        }
        //將選中的上面一項未選中的值賦予臨時變量
        text = lb_busspot.Items[Indices[0] - 1].Text;
        value = lb_busspot.Items[Indices[0] - 1].Value;

        for (int i = 0; i < length; i++)
        ...{
            lb_busspot.Items[Indices[i] - 1].Text = lb_busspot.Items[Indices[i]].Text;
            lb_busspot.Items[Indices[i] - 1].Value = lb_busspot.Items[Indices[i]].Value;
            //保證被選中狀態
            lb_busspot.Items[Indices[i] - 1].Selected = true;
            lb_busspot.Items[Indices[i]].Selected = false;
        }
        //將選中的上面第一條未選中的值賦予到下面
        lb_busspot.Items[Indices[0] + length - 1].Text = text;
        lb_busspot.Items[Indices[0] + length - 1].Value = value;

    }
    protected void btn_down_Click(object sender, EventArgs e)
...{
        if (lb_busspot.SelectedIndex == -1)
        ...{
            return;
        }
        //獲得連續選中的項索引
        int[] Indices = lb_busspot.GetSelectedIndices();
        int length = Indices.Length;

        string text;
        string value;
        //如果選擇的是最底下的項
        if (Indices[length - 1] == lb_busspot.Items.Count - 1)
        ...{
            return;
        }
        //判斷選擇多項時是否是連續的項
        if (Indices.Length != 1 && Indices[0] + length - 1 != Indices[length - 1])
        ...{
            MessageBox.Show(Page, "請選擇連續的項!");
            return;
       &        //將選中的下面一項未選中的值賦予臨時變量
        text = lb_busspot.Items[Indices[length - 1] + 1].Text;
        value = lb_busspot.Items[Indices[length - 1] + 1].Value;
        for (int i = length; i > 0; i--)
        ...{
            lb_busspot.Items[Indices[i - 1] + 1].Text = lb_busspot.Items[Indices[i - 1]].Text;
            lb_busspot.Items[Indices[i - 1] + 1].Value = lb_busspot.Items[Indices[i - 1]].Value;
            //保證被選中狀態
            lb_busspot.Items[Indices[i - 1] + 1].Selected = true;
            lb_busspot.Items[Indices[i - 1]].Selected = false;
        }
        //將下面第一條未選中的項的值賦予到上面
        lb_busspot.Items[Indices[0]].Text = text;
        lb_busspot.Items[Indices[0]].Value = value;
    } 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved