1

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

排序前

指数 子指数
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。

谢谢你的帮助。

4

2 回答 2

0

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

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

DataTable这确实假设您必须遵守

于 2012-05-22T06:51:49.763 回答
0

您可以像DataGridView 多列排序一样对其进行排序

于 2012-05-22T06:35:01.673 回答