Winforms 无法在datagridview中禁用排序
我对datagridview有问题 开始时,我在columndictionaryDataGridView\u ColumnAdded和designer中禁用排序 当我双击columnheader时,将启用排序 它是有效的 当我再次双击columnheader时 当我检查此列的SortMode时,它是不可排序的 那太好了 但是,当我现在更改行中的值时,它会对我的列进行排序 这对用户来说是非常有压力的,因为用户看不到他的行,对我来说也是如此,因为我无法中止排序 在dictionaryDataGridView_CellEndEdit中,我看到SortGlyphDirection被设置为None,SortMode被设置为NotSortable,因此它不能排序,而是排序 有人知道为什么吗?是datagridview中的bug,还是我遗漏了什么Winforms 无法在datagridview中禁用排序,winforms,sorting,datagridview,Winforms,Sorting,Datagridview,我对datagridview有问题 开始时,我在columndictionaryDataGridView\u ColumnAdded和designer中禁用排序 当我双击columnheader时,将启用排序 它是有效的 当我再次双击columnheader时 当我检查此列的SortMode时,它是不可排序的 那太好了 但是,当我现在更改行中的值时,它会对我的列进行排序 这对用户来说是非常有压力的,因为用户看不到他的行,对我来说也是如此,因为我无法中止排序 在dictionaryDataGrid
private void dictionaryDataGridView_ColumnHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.ColumnIndex == 0)
{
var column = dictionaryDataGridView.Columns[e.ColumnIndex];
if (column.SortMode != DataGridViewColumnSortMode.Programmatic)
{
column.SortMode = DataGridViewColumnSortMode.Programmatic;
dictionaryDataGridView.Sort(this.dictionaryDataGridView.Columns[0], ListSortDirection.Ascending);
this.dictionaryDataGridView.Columns[0].SortMode = DataGridViewColumnSortMode.Programmatic;
this.dictionaryDataGridView.Columns[0].HeaderCell.SortGlyphDirection = SortOrder.Ascending;
}
else
{
column.SortMode = DataGridViewColumnSortMode.NotSortable;
}
}
}
private void dictionaryDataGridView_ColumnAdded(object sender, DataGridViewColumnEventArgs e)
{
e.Column.SortMode = DataGridViewColumnSortMode.NotSortable;
}
private void dictionaryDataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
var aaa = this.dictionaryDataGridView.Columns[0].HeaderCell.SortGlyphDirection;
}
好的,我找到了答案。这不可能做到: