0

我的 DataGridView 有一个名为“Order”的固定列(网格的第一个列),该列应该具有从 1 到 DataGridView 的行数(1、2、3、4、... ,n) 并且此顺序不应更改。

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

您的帮助将不胜感激!

谢谢!

4

1 回答 1

1

您可以使用DataGridView.Sorted Event

代码示例

    private void dataGridView1_Sorted(object sender, System.EventArgs e)
    {
        foreach (DataGridViewRow dataGridViewRow in
                                 dataGridView1.Rows.Cast<DataGridViewRow>())
        {
            dataGridViewRow.Cells["Order"].Value = dataGridViewRow.Index + 1;
        }
    }
于 2013-04-23T02:50:21.737 回答