【问题标题】:Cannot disable sorting in datagridview无法在 datagridview 中禁用排序
【发布时间】:2011-02-06 19:40:37
【问题描述】:

datagridview 有问题。

一开始我禁用列中的排序(dictionaryDataGridView_ColumnAdded 和设计器)

当我双击列标题排序启用时。

而且它有效。

当我再次双击禁用列标题时。

当我检查此列的 SortMode 是 NotSortable 时。

太好了。

但是,当我现在更改行中的值时,它会对我的列进行排序。

这对用户来说非常有压力,因为我无法中止这种排序。

dictionaryDataGridView_CellEndEdit 中,我看到SortGlyphDirection 设置为NoneSortMode 设置为NotSortable,所以它无法排序,但可以排序。

有谁知道这是为什么?是datagridview中的错误,还是我错过了什么?

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;
}

【问题讨论】:

    标签: winforms sorting datagridview


    【解决方案1】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    相关资源
    最近更新 更多