C# 在用户对DataGridView的一列进行排序后,是否重新排列其Order number列?
我的DataGridView有一个名为“Order”的固定列(网格的第一列),该列的值应该是从1到DataGridView的行数(1,2,3,4,…,n)之间的序号,并且该顺序不应该更改 但是,当用户单击另一列的标题进行排序时,这可能会更改所有行的顺序,并且order列中的值也会相应地更改。(例如,它可以变为n、…、4、3、2、1或任何其他可能的顺序,具体取决于用户选择排序的列)。这对用户来说很奇怪。每次用户单击其中一个列标题进行排序时,我必须重新填充order列的值,以将它们重置为1,2,3,4,…,n。我想知道这是否有一个标准的方法?还是更简单的 非常感谢您的帮助 谢谢大家! 您可以使用 代码示例: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,
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;
}
}
谢谢!至少比我的解决方案好:)