首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

以当前显示的顺序获取选定的DataGridViewRows

是指在使用DataGridView控件时,获取当前显示的选定行的顺序。

DataGridView是一个用于显示和编辑数据的控件,常用于Windows Forms应用程序中。它可以显示数据表格,并提供了丰富的功能和交互性。

要以当前显示的顺序获取选定的DataGridViewRows,可以按照以下步骤进行操作:

  1. 首先,获取DataGridView控件的选定行集合。可以使用DataGridView的SelectedRows属性来获取选定行的集合,该属性返回一个DataGridViewSelectedRowCollection对象。
  2. 接下来,可以使用DataGridView的SortedColumn属性来获取当前排序的列。如果DataGridView没有进行排序,则SortedColumn属性为null。
  3. 如果SortedColumn属性不为null,则可以使用DataGridView的SortOrder属性来获取当前排序的顺序。SortOrder属性返回一个SortOrder枚举值,表示排序的顺序(升序或降序)。
  4. 根据当前排序的顺序,可以使用DataGridViewSelectedRowCollection对象的Sort方法对选定行进行排序。如果排序顺序为升序,则可以直接使用Sort方法进行排序;如果排序顺序为降序,则可以使用Reverse方法对排序结果进行反转。
  5. 最后,可以遍历排序后的选定行集合,按照顺序获取选定的DataGridViewRows。

以下是一个示例代码,演示如何以当前显示的顺序获取选定的DataGridViewRows:

代码语言:csharp
复制
// 获取选定行集合
DataGridViewSelectedRowCollection selectedRows = dataGridView1.SelectedRows;

// 获取当前排序的列
DataGridViewColumn sortedColumn = dataGridView1.SortedColumn;

// 获取当前排序的顺序
SortOrder sortOrder = dataGridView1.SortOrder;

// 如果有排序列,则根据排序顺序对选定行进行排序
if (sortedColumn != null)
{
    // 根据排序顺序对选定行进行排序
    if (sortOrder == SortOrder.Ascending)
    {
        selectedRows.Sort(new RowComparer(SortOrder.Ascending));
    }
    else if (sortOrder == SortOrder.Descending)
    {
        selectedRows.Sort(new RowComparer(SortOrder.Descending));
    }
}

// 遍历排序后的选定行集合,按照顺序获取选定的DataGridViewRows
foreach (DataGridViewRow row in selectedRows)
{
    // 处理选定行的逻辑
    // ...
}

// 自定义行比较器,用于排序选定行
public class RowComparer : IComparer<DataGridViewRow>
{
    private SortOrder sortOrder;

    public RowComparer(SortOrder sortOrder)
    {
        this.sortOrder = sortOrder;
    }

    public int Compare(DataGridViewRow x, DataGridViewRow y)
    {
        // 根据排序顺序比较行的显示顺序
        if (sortOrder == SortOrder.Ascending)
        {
            return x.Index.CompareTo(y.Index);
        }
        else if (sortOrder == SortOrder.Descending)
        {
            return y.Index.CompareTo(x.Index);
        }
        else
        {
            return 0;
        }
    }
}

以上代码示例中,我们首先获取DataGridView的选定行集合,然后根据当前排序的列和顺序对选定行进行排序,最后按照顺序遍历选定行集合,进行相应的处理。

对于腾讯云相关产品和产品介绍链接地址,可以根据具体需求和场景选择适合的产品。腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储、人工智能等。可以访问腾讯云官方网站(https://cloud.tencent.com/)获取更多详细信息和产品介绍。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 如何控制Ansible Playbook的执行顺序、运行选定的剧本资源

    写在前面 分享一些Ansible中Playbook执行顺序控制的手段以及运行选定的任务的笔记 不知道小伙伴们有么有遇到这样的情况 一些运维场景,Github中找了很棒的剧本或者角色,但是只需要其中的一部分...,依赖角色要在当前角色之前执行,当前角色role要在调用剧本任务task之前执行。...,角色执行了两次,这里需要注意一点,通过 import_role 方式导入的角色并会作为当前剧本的一部分,而通过 include 的方式会作为一个单独的任务模块来执行,我么通过执行的输出也可以看到,具体的原因...reverse_inventory 清单相反顺序。 sorted 主机按字母顺序排列。数字在字母前排序。 reverse_sorted 主机以相反的字母顺序排列。...由于Ansible通常在多个主机上并行运行每个任务,因此 ansible-playbook 命令的输出可能无法反映预期的顺序:输出显示的是任务完成顺序,而不是执行顺序。

    2.7K10

    python获取当前系统的日期_python怎么获取当前系统时间

    python获取当前系统时间,包括年月日,时分秒,主要通过Python中的datetime模块来实现。 下面我们就通过具体的代码示例,给大家详细介绍Python获取当前时间日期的实现方法。...代码示例如下:import datetime now = datetime.datetime.now() print (“当前系统日期和时间是: “) print (now.strftime(“%Y-%...m-%d %H:%M:%S”)) 获取当前系统时间,结果如下所示: Python datetime: datetime模块提供了以简单和复杂的方式操作日期和时间的类。...now(tz=None)返回当前的本地日期和时间。如果可选参数tz没有指定,与today()一样。 strftime(format)返回一个表示日期的字符串,由显式格式字符串控制。...引用小时、分钟或秒的格式代码将看到0值。 本篇文章就是关于Python获取当前系统时间及日期的方法介绍,也很简单易懂,希望对需要的朋友有所帮助!

    6.3K90

    mysql 获取当前的时间戳

    大家好,又见面了,我是你们的朋友全栈君。...1.获取系统当前时间,类型:timestamp 格式yyyy-MM-dd HH:mm:ss select NOW(),CURRENT_TIMESTAMP(),SYSDATE(); 结果: 三者基本没有区别...,稍微一点的区别在于:NOW(),CURRENT_TIMESTAMP()都表示SQL开始执行的时间;SYSDATE()表示执行此SQL时的当前时间 select NOW(),CURRENT_TIMESTAMP...CURRENT_TIMESTAMP(),SYSDATE(); 结果:sleep(2)表示等待2s再执行,从结果可以看出SYSDATE在中断前后则相差了2秒;NOW(),CURRENT_TIMESTAMP()完全没区别 2.获取系统当前时间的时间戳...,就是去掉上面中间的小数点,可以借助replace函数 replace函数的用法:replace(object, search,replace),简单解释就是:把object中出现search的全部替换为

    8.2K30

    java获取当前时间戳的方法

    大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说java获取当前时间戳的方法[通俗易懂],希望能够帮助大家进步!!!...获取当前时间戳 //方法 一 System.currentTimeMillis(); //方法 二 Calendar.getInstance().getTimeInMillis(); //方法 三 new...Date().getTime(); 获取当前时间 此代码由Java架构师必看网-架构君整理 SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd...HH:mm:ss");//设置日期格式 String date = df.format(new Date());// new Date()为获取当前系统时间,也可使用当前时间戳 获取时间戳三种方法执行效率比较...} } 执行结果: 133 2372 137 Calendar.getInstance().getTimeInMillis() 这种方式速度最慢,这是因为Canlendar要处理时区问题会耗费较多的时间

    6.4K20

    Hibernate获取当前Session,Hibernate清空当前Session的缓存

    ---- 先从网上盗张图,来看下Hibernate的三种状态以及生命周期。 ? ---- 需求情景: 每次update时,都要记录更新了什么字段,由什么值更新为什么值。...所以使用的是Aop,在@around方法中,joinPoint.proceed()之前,运用方法的反射查询下数据库得到objectOld;joinPoint.proceed()之后,再运用方法反射查询下数据库得到...但是,因为每次update之前都会get一个model,因为get()方法得到的是 持久化状态 。所以这样就不容易得到update之前的值。...我的做法是,在joinPoint.proceed()之前,运用方法的反射查询下数据库得到objectNew,因为此时对model的修改,已经跟进到了持久化状态;然后执行evict()方法,将objectNew...不然的话,会报同一个session里包含两个同一标识的不同model的异常。 ---- sessionFactory.getCurrentSession().evict(object)

    2.3K10

    百度地图---获取当前的位置返回的是汉字显示而不是经纬度

    这是当前项目的第二个需求,返回当前的位置  这个需求在百度地图里面实现很简单,但是出了一大堆的乱起八糟的错误,错误等到后面的文章再说,先说要获取当前位置怎么做 原理很简单: 第一个需要是的通过  GPS...BDLocationListener  我们需要去实现他就可以了 3.结果的反编译  因为返回的结果是经纬度 百度里面是  GeoCoder   只需要用到这三个东西就可以实现获取当前的位置,首先我们看看怎么使用百度提供的...,当前你也可以用String 来存储了 onCreate()里面加上这些代码:         mLocationClient = new LocationClient(this.getApplicationContext...BDLocation.TypeCriteriaException) {                 sb.append("\ndescribe : ");                 sb.append("无法获取有效定位依据导致定位失败...           // mLocationClient.setEnableGpsRealTimeTransfer(true);         }     }     /**      * 显示请求字符串

    2.3K40
    领券