Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在用户对DataGridView的一列进行排序后,是否重新排列其Order number列?_C#_Winforms_Datagridview_Datagridviewcolumn - Fatal编程技术网

C# 在用户对DataGridView的一列进行排序后,是否重新排列其Order number列?

C# 在用户对DataGridView的一列进行排序后,是否重新排列其Order number列?,c#,winforms,datagridview,datagridviewcolumn,C#,Winforms,Datagridview,Datagridviewcolumn,我的DataGridView有一个名为“Order”的固定列(网格的第一列),该列的值应该是从1到DataGridView的行数(1,2,3,4,…,n)之间的序号,并且该顺序不应该更改 但是,当用户单击另一列的标题进行排序时,这可能会更改所有行的顺序,并且order列中的值也会相应地更改。(例如,它可以变为n、…、4、3、2、1或任何其他可能的顺序,具体取决于用户选择排序的列)。这对用户来说很奇怪。每次用户单击其中一个列标题进行排序时,我必须重新填充order列的值,以将它们重置为1,2,3,

我的DataGridView有一个名为“Order”的固定列(网格的第一列),该列的值应该是从1到DataGridView的行数(1,2,3,4,…,n)之间的序号,并且该顺序不应该更改

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

非常感谢您的帮助

谢谢大家!

您可以使用

代码示例

    private void dataGridView1_Sorted(object sender, System.EventArgs e)
    {
        foreach (DataGridViewRow dataGridViewRow in
                                 dataGridView1.Rows.Cast<DataGridViewRow>())
        {
            dataGridViewRow.Cells["Order"].Value = dataGridViewRow.Index + 1;
        }
    }
private void dataGridView1_排序(对象发送方,System.EventArgs e)
{
foreach(DataGridViewRow中的DataGridViewRow)
dataGridView1.Rows.Cast())
{
dataGridViewRow.Cells[“Order”]。Value=dataGridViewRow.Index+1;
}
}

谢谢!至少比我的解决方案好:)