winforms 对列排序后禁用自动排序

tf7tbtn2  于 2023-02-24  发布在  其他
关注(0)|答案(1)|浏览(112)

我有一个c#中的datagridview,当用户按列排序时,点击它是正确的。当他们输入数据时,列不断地重新排序。有没有办法关闭排序,这样用户就可以添加多个条目,然后在完成后排序?
已尝试多种方法将列排序模式转换为NotSortable

this.dgvSequence.Columns[2].SortMode = DataGridViewColumnSortMode.NotSortable;

但似乎没有什么能阻止列在初始排序之后进行排序。

krugob8w

krugob8w1#

因此,您希望仅在操作员单击列标题时才进行排序,而不是在操作员更改数据时,也不是在数据因任何其他原因而更改时。
为什么不禁用列的自动排序,并在单击列标题时添加一个事件处理程序。

private void SortColumn(DataGridViewColumn columnToSort)
{
    // TODO: add the code to do the sorting
}

private void OnColumnHeaderMouseClick(object sender,  DataGridViewCellMouseEventArgs e)
{
    this.SortColumn(this.DataGridView.Columns[e.ColumnIndex]);
}

相关问题