zoukankan      html  css  js  c++  java
  • ListView 排序 移动

    http://topic.csdn.net/t/20041001/07/3422642.html

    方法1:  
      上下两个节点交换一下内容  
       
      方法2:  
      先取得选中的节点:  
      Dim   item   As   ListViewItem   =   Me.ListView1.SelectedItems(0)  
      Dim   index   As   Integer   =   Me.ListView1.SelectedItems(0).Index  
       
      然后删除该节点:  
      ListView1.Items.Remove(item)  
       
      重新插入该节点:  
      如果上移:ListView.Items.Insert(index-1,item)  
       
      如果下移:ListView.Items.Insert(index+1,item)   
        
      ======================================

      
      Public   Class   frm  
              Inherits   System.Windows.Forms.Form  
       
      #Region   "   Windows   Form   Designer   generated   code   "  
       
              Public   Sub   New()  
                      MyBase.New()  
       
                      'This   call   is   required   by   the   Windows   Form   Designer.  
                      InitializeComponent()  
       
                      'Add   any   initialization   after   the   InitializeComponent()   call  
       
              End   Sub  
       
              'Form   overrides   dispose   to   clean   up   the   component   list.  
              Protected   Overloads   Overrides   Sub   Dispose(ByVal   disposing   As   Boolean)  
                      If   disposing   Then  
                              If   Not   (components   Is   Nothing)   Then  
                                      components.Dispose()  
                              End   If  
                      End   If  
                      MyBase.Dispose(disposing)  
              End   Sub  
       
              'Required   by   the   Windows   Form   Designer  
              Private   components   As   System.ComponentModel.IContainer  
       
              'NOTE:   The   following   procedure   is   required   by   the   Windows   Form   Designer  
              'It   can   be   modified   using   the   Windows   Form   Designer.      
              'Do   not   modify   it   using   the   code   editor.  
              Friend   WithEvents   btnUp   As   System.Windows.Forms.Button  
              Friend   WithEvents   btnDown   As   System.Windows.Forms.Button  
              Friend   WithEvents   lvw   As   System.Windows.Forms.ListView  
              <System.Diagnostics.DebuggerStepThrough()>   Private   Sub   InitializeComponent()  
                      Me.lvw   =   New   System.Windows.Forms.ListView  
                      Me.btnUp   =   New   System.Windows.Forms.Button  
                      Me.btnDown   =   New   System.Windows.Forms.Button  
                      Me.SuspendLayout()  
                      '  
                      'lvw  
                      '  
                      Me.lvw.Location   =   New   System.Drawing.Point(12,   12)  
                      Me.lvw.Name   =   "lvw"  
                      Me.lvw.Size   =   New   System.Drawing.Size(284,   212)  
                      Me.lvw.TabIndex   =   0  
                      '  
                      'btnUp  
                      '  
                      Me.btnUp.Location   =   New   System.Drawing.Point(308,   24)  
                      Me.btnUp.Name   =   "btnUp"  
                      Me.btnUp.Size   =   New   System.Drawing.Size(40,   28)  
                      Me.btnUp.TabIndex   =   2  
                      Me.btnUp.Text   =   "Up"  
                      '  
                      'btnDown  
                      '  
                      Me.btnDown.Location   =   New   System.Drawing.Point(308,   60)  
                      Me.btnDown.Name   =   "btnDown"  
                      Me.btnDown.Size   =   New   System.Drawing.Size(40,   28)  
                      Me.btnDown.TabIndex   =   3  
                      Me.btnDown.Text   =   "Down"  
                      '  
                      'frm  
                      '  
                      Me.AutoScaleBaseSize   =   New   System.Drawing.Size(6,   14)  
                      Me.ClientSize   =   New   System.Drawing.Size(360,   245)  
                      Me.Controls.Add(Me.btnDown)  
                      Me.Controls.Add(Me.btnUp)  
                      Me.Controls.Add(Me.lvw)  
                      Me.Name   =   "frm"  
                      Me.ResumeLayout(False)  
       
              End   Sub  
       
      #End   Region  
       
              Private   Sub   frm_Load(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   MyBase.Load  
                      InitLVW()  
              End   Sub  
       
              '加载项到列表  
              Private   Sub   InitLVW()  
                      Dim   i   As   Integer  
                      Me.lvw.FullRowSelect   =   True  
                      Me.lvw.View   =   View.Details  
                      Me.lvw.Columns.Add("ID",   100,   HorizontalAlignment.Center)  
                      Me.lvw.Columns.Add("Name",   100,   HorizontalAlignment.Center)  
                      For   i   =   0   To   10  
                              Dim   xItem   As   New   ListViewItem  
                              xItem.Text   =   i.ToString()  
                              xItem.SubItems.Add(i   &   "   item")  
                              Me.lvw.Items.Add(xItem)  
                      Next  
              End   Sub  
       
              '上移  
              Private   Sub   btnUp_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   btnUp.Click  
                      '当列表项有多于1条记录,并且有选中记录时,才能操作  
                      Dim   iCount   As   Integer   =   Me.lvw.Items.Count  
                      If   iCount   >   1   And   Me.lvw.SelectedItems.Count   >   0   Then  
                              '当选择中的不是第1项时才可上移  
                              If   Me.lvw.SelectedItems(0).Index   <>   0   Then  
                                      Dim   iIndex   As   Integer   =   lvw.SelectedItems(0).Index  
       
                                      Dim   xItem   As   ListViewItem   =   Me.lvw.SelectedItems(0)  
                                      lvw.Items.Remove(xItem)  
                                      lvw.Items.Insert(iIndex   -   1,   xItem)  
                              End   If  
                      End   If  
              End   Sub  
       
              '下移  
              Private   Sub   btnDown_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   btnDown.Click  
                      '当列表项有多于1条记录,并且有选中记录时,才能操作  
                      Dim   iCount   As   Integer   =   Me.lvw.Items.Count  
                      If   iCount   >   1   And   Me.lvw.SelectedItems.Count   >   0   Then  
                              '当选择中的不是最后项时才可下移  
                              If   Me.lvw.SelectedItems(0).Index   <>   iCount   -   1   Then  
                                      Dim   iIndex   As   Integer   =   lvw.SelectedItems(0).Index  
       
                                      Dim   xItem   As   ListViewItem   =   Me.lvw.SelectedItems(0)  
                                      lvw.Items.Remove(xItem)  
                                      lvw.Items.Insert(iIndex   +   1,   xItem)  
                              End   If  
                      End   If  
              End   Sub  
       
      End   Class  
    ==========================================

    上移:
    private void button1_Click(object sender, System.EventArgs e)
    {
    for(int i = 0; i < listView1.CheckedItems.Count; i++)
    {
       if(listView1.CheckedItems[i].Index != 0)
       {
        ListViewItem   item   =   listView1.CheckedItems[i];  
        int index = item.Index;
        listView1.Items.Remove(item);  
        listView1.Items.Insert(index - 1,item);  
       }
    }
    }


    下移:
    private void button2_Click(object sender, System.EventArgs e)
    {
    for(int i = listView1.CheckedItems.Count; i > 0; i--)
    {
       if(listView1.CheckedItems[i-1].Index != listView1.Items.Count - 1)
       {
        ListViewItem item   =   listView1.CheckedItems[i-1];  
        int index = item.Index;
        listView1.Items.Remove(item);  
        listView1.Items.Insert(index + 1,item);  
       }
    }   

  • 相关阅读:
    iOS面试题总结整理(附答案)
    iOS App上传项目遇到的问题
    Could not find Developer Disk Image
    xcode下载方式
    iOS App上架流程(2016详细版)
    Xcode中的iOS模拟器(iOS Simulator)的介绍和使用心得
    iOS开发之17个常用代码整理
    iOS求职之OC面试题
    Android xmpp 连接基本方法
    Ubuntu安装过程
  • 原文地址:https://www.cnblogs.com/ggbbeyou/p/1615776.html
Copyright © 2011-2022 走看看