Analytics

2013年4月8日 星期一

[ASP.NET]使用 ListBox Item 實作 上/下功能 (Use ListBox Item implement the up / down function)


問題
使用 ListBox Item 實作 上/下功能



解決方法
.aspx
新增兩個Button,Up,Dn於ListBox右方,ListBox為lbEIMCol

.cs
protected void btnUp_Click(object sender, EventArgs e)
{
    if (this.lbEIMCol.Items.Count > 0)
    {
        if (this.lbEIMCol.SelectedItem != null)
        {
           ListItem n = this.lbEIMCol.SelectedItem;
           int i= this.lbEIMCol.SelectedIndex;

           if (i - 1 < 0)
           {
           }
           else
           {
               int newpoint = i - 1;
               List<ListItem> lt = new List<ListItem>();
               //上半部
               int x = 0;
               for (x = 0; x < newpoint; x++)
                   lt.Add(this.lbEIMCol.Items[x]);
               //本身
               lt.Add(n);
               lt.Add(this.lbEIMCol.Items[x]);
               //下半部
               for (int y = i + 1; y < lbEIMCol.Items.Count; y++)
                   lt.Add(this.lbEIMCol.Items[y]);

               this.lbEIMCol.Items.Clear();
               foreach (ListItem newitem in lt)
               {
                   lbEIMCol.Items.Add(newitem);
               }
           }
        }
    }
}
protected void btnDn_Click(object sender, EventArgs e)
{
    if (this.lbEIMCol.Items.Count > 0)
    {
        if (this.lbEIMCol.SelectedItem != null)
        {
            ListItem n = this.lbEIMCol.SelectedItem;
            int i = this.lbEIMCol.SelectedIndex;

            if (i + 1 >this.lbEIMCol.Items.Count-1)
            {
            }
            else
            {
                int newpoint = i + 1;

                List<ListItem> lt = new List<ListItem>();
                //上半部
                int x = 0;
                for (x = 0; x < i; x++)
                    lt.Add(this.lbEIMCol.Items[x]);
               
                lt.Add(this.lbEIMCol.Items[newpoint]);
                //本身
                lt.Add(n);
                //下半部
                for (int y = newpoint + 1; y < lbEIMCol.Items.Count; y++)
                    lt.Add(this.lbEIMCol.Items[y]);

                this.lbEIMCol.Items.Clear();
                foreach (ListItem newitem in lt)
                {
                    lbEIMCol.Items.Add(newitem);
                }
            }
        }
    }
}

沒有留言:

熱門文章