公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C#中l(wèi)istview控件實(shí)現(xiàn)按照文本、數(shù)字、時(shí)間升序和降序排序

admin
2023年11月2日 15:10 本文熱度 1425
【問(wèn)題】:
當(dāng)點(diǎn)擊列標(biāo)題的時(shí)候,能夠完成對(duì)該列排序,再次點(diǎn)擊,按照該列反序排序。

 

【解決方法】:
使用  IComparer接口。

 

例子:

新建一個(gè)class類:

using System;

using System.Collections.Generic;
using System.Text;
using System.Collections;

using System.Windows.Forms;


namespace sortListView
{
  class ListViewColumnSorter: IComparer
  {      
    private int ColumnToSort;// 指定按照哪個(gè)列排序  
    private SortOrder OrderOfSort;// 指定排序的方式          

    private CaseInsensitiveComparer ObjectCompare;// 聲明CaseInsensitiveComparer類對(duì)象

    public ListViewColumnSorter()// 構(gòu)造函數(shù)
    {        
        ColumnToSort = 0;// 默認(rèn)按第一列排序    
        OrderOfSort = SortOrder.None;// 排序方式為不排序        
      ObjectCompare = new CaseInsensitiveComparer();// 初始化CaseInsensitiveComparer類對(duì)象

    }


    // 重寫IComparer接口.    
    // <returns>比較的結(jié)果.如果相等返回0,如果x大于y返回1,如果x小于y返回-1</returns>
    public int Compare(object x, object y)

    {

        int compareResult;

        ListViewItem listviewX, listviewY;
        // 將比較對(duì)象轉(zhuǎn)換為L(zhǎng)istViewItem對(duì)象
        listviewX = (ListViewItem)x;
        listviewY = (ListViewItem)y;
        // 比較
        compareResult = ObjectCompare.Compare(listviewX.SubItems[ColumnToSort].Text, listviewY.SubItems[ColumnToSort].Text);
        // 根據(jù)上面的比較結(jié)果返回正確的比較結(jié)果
        if (OrderOfSort == SortOrder.Ascending)

        {

            // 因?yàn)槭钦蚺判?,所以直接返回結(jié)果

            return compareResult;
        }
        else if (OrderOfSort == SortOrder.Descending)

        {

            // 如果是反序排序,所以要取負(fù)值再返回

            return (-compareResult);
        }
        else
        {
            // 如果相等返回0
            return 0;
        }

    }


    /// 獲取或設(shè)置按照哪一列排序.    
    public int SortColumn

    {

        set

        {

             ColumnToSort = value;

        }
        get
        {
            return ColumnToSort;
        }

    }


    /// 獲取或設(shè)置排序方式.  
    public SortOrder Order

    {

        set

        {
            OrderOfSort = value;
        }
        get
        {
            return OrderOfSort;
        }

    }

   }

}

================================

頁(yè)面代碼:

namespace sortListView

{
  public partial class Form1 : Form
  {
      public Form1()
      {
        InitializeComponent();
        // 創(chuàng)建一個(gè)ListView排序類的對(duì)象,并設(shè)置listView1的排序器
        lvwColumnSorter = new ListViewColumnSorter();
        this.listView1.ListViewItemSorter = lvwColumnSorter;

      }


      private void Form1_Load(object sender, EventArgs e)

      {

       //初始化listview1.

      }


      private void listView1_ColumnClick(object sender, ColumnClickEventArgs e)

      {

       // 檢查點(diǎn)擊的列是不是現(xiàn)在的排序列.

        if (e.Column == lvwColumnSorter.SortColumn)
        {
            // 重新設(shè)置此列的排序方法.
            if (lvwColumnSorter.Order == SortOrder.Ascending)

            {

               lvwColumnSorter.Order = SortOrder.Descending;

            }
            else

            {

               lvwColumnSorter.Order = SortOrder.Ascending;

            }
        }
        else
        {
            // 設(shè)置排序列,默認(rèn)為正向排序
            lvwColumnSorter.SortColumn = e.Column;
            lvwColumnSorter.Order = SortOrder.Ascending;
        }
        // 用新的排序方法對(duì)ListView排序
        this.listView1.Sort();      

    }


    private void button1_Click(object sender, EventArgs e)
    {
        Form2 obj = new Form2();
        obj.Show();

    }

  }

}


該文章在 2023/11/2 15:20:15 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产一区二区三区草草影院 | 91成人在线 | 国产日韩第一 | 韩国精品一区二区三区无码视 | 国产嫖妓在线播 | 高潮毛片无遮挡高清免费视频 | 国产精品麻花传媒二三区别 | 成人国产一区二区三区精品不卡 | 另类欧美亚洲曰本 | 国产一区二区三区精品视频 | 国产成人久久精品激情 | 国产日韩精品一区二区在线 | 国产视频一区二区在 | 国产成人精品久久 | 国产二区视频在线播放蜜臀 | 国产精品四虎在线观看免费 | 精品久久精品中文字幕无码 | 国产av无码专区亚洲av毛片搜 | 国产人妖在线精品 | 精品人妻一区二区三区浪潮在线 | 国产av无码区| 国产成人无遮挡免费视频 | 91久久国产青草亚洲 | 国产狂喷潮在线观看国产片 | 国产午夜精品自在自线之la | 国产毛片大全 | 国产精品对白交换绿帽视频 | 国产激情va在线影片播放 | 国产av永久精品无码 | 国产毛片一区二区三区视频 | 国产超薄肉丝袜在线播放 | 国产午夜激无码av片在线观看 | 2025国产成人福利精品视频 | 国产精品爽爽ⅴa在线观看 国产精品爽爽va吃奶在线观看 | 精品久久久久久狼人社区 | 国产91模特无码 | 国产成人综合色在线观看网站 | 国産精品久久久久久久 | 精品人妻无码一区二区色欲产成人 | 国产精品欧美亚洲韩国日本久 | 精品丝袜国产自在线拍小草 |