在用户对其中一列进行排序后,重新安排DataGridView的Order number列

本文关键字:排序 新安排 number Order DataGridView 用户 一列 | 更新日期: 2023-09-27 18:10:31

我的DataGridView有一个固定的列(网格列的第一列)叫做"Order",这个列应该有从1到DataGridView的行数(1,2,3,4,…,n)的序数值,这个顺序不应该被改变。

但是当用户单击另一个列的标题进行排序时,这可能会改变所有行的顺序,并且order列中的值将相应地改变。(例如,它可以变成n,…(4、3、2、1或任何其他可能的顺序取决于用户选择排序的列)。这对用户来说很奇怪。我必须重新填充order列的值,将它们重置为1,2,3,4,…,n用户每次单击列标头中的一个进行排序。我想知道这是否有一个标准的方法?还是一个更简单的?

非常感谢您的帮助!

谢谢!

在用户对其中一列进行排序后,重新安排DataGridView的Order number列

可以使用DataGridView。事件排序。

代码示例:

    private void dataGridView1_Sorted(object sender, System.EventArgs e)
    {
        foreach (DataGridViewRow dataGridViewRow in
                                 dataGridView1.Rows.Cast<DataGridViewRow>())
        {
            dataGridViewRow.Cells["Order"].Value = dataGridViewRow.Index + 1;
        }
    }