首页
学习
活动
专区
工具
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.4K10

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.2K90

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全部替换为

8K30

Android编程实现悬浮窗获取显示当前内存使用量方法

本文实例讲述了Android编程实现悬浮窗获取显示当前内存使用量方法。分享给大家供大家参考,具体如下: 运行效果: ? 其中: ? 这一块就是悬浮窗,可以随意拖动,动态显示当前内存使用量。...,即屏幕左上角为原点 x = event.getRawX(); y = event.getRawY() - 25; // 25是系统状态栏高度 Log.i("currP", "currX" + x...它面向对象一端是屏幕,另一端就是View,直接忽略我们Activity或者Dialog之类东东。...其实我们Activity或者Diolog底层实现也是通过WindowManager,这个 WindowManager是全局,整个系统就是这个唯一东东。它是显示View最底层了。...这样就实现了拖动功能。其内存数据是如何获取及及时更新呢?

1.5K21

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.1K20

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
领券