DataGridView列排序取决于其他列值

时间:2012-05-22 06:26:00

标签: c# .net datagridview

我正在使用DataGridView并有两列“Index”和“Sub-Index”。 当我点击“索引”列的升序排序时。我希望“子索引”列根据“索引”列数据自动排序为升序。

排序前

指数 子指数
3 2
3 1
2 3
1 3
2 2
1 2

排序后

指数 子指数
1 2
1 3
2 2
2 3
3 1
3 2

我不打算在“子索引”列上进行排序。 每当我点击“索引”列的排序时,“子索引”列应根据“索引”列值进行排序。

我的DataGridView未绑定到任何DataTable。我通过添加行和列来手动填充dataGridview。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您可以像DataGridView Multi-column Sort

那样对此进行排序

答案 1 :(得分:0)

您可以在默认视图上对多列进行排序。将此代码放在列标题单击事件中。

  private void dataGridView1_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
    {
        if (dataGridView1.Columns[e.ColumnIndex].Name == "Index")
        {
            ((DataTable)dataGridView1.DataSource).DefaultView.Sort = "Index, Subindex";
        }
    }

这确实假设你被DataTable绑定了