【问题标题】:Disable sorting when clicking DataGridView column header单击 DataGridView 列标题时禁用排序
【发布时间】:2010-10-19 04:21:55
【问题描述】:

我有一个DataGridView 列标题。当我单击该标题时,数据将根据值进行处理。

我不想这样。

DataGrid 有一个 AllowSort 属性。 DataGridView 没有。有什么我能做的吗?

【问题讨论】:

  • 我很确定它确实有这样的属性。 AllowUserToSortColumnHeaderStyle。我会在我上班时确认。我经常使用这个。

标签: c#


【解决方案1】:

您可以为 DataGridView 中的每个单元格禁用自动排序:

【讨论】:

    【解决方案2】:

    您可以覆盖 OnColumnAdded 函数:

     protected override void OnColumnAdded(DataGridViewColumnEventArgs e)
        {
            base.OnColumnAdded(e);
            e.Column.SortMode = DataGridViewColumnSortMode.NotSortable;
        }
    

    【讨论】:

    • 或处理 ColumnAdded 事件,这可能更好,因为它不需要子类化 DGV。
    • 是的..这行得通..但对于初学者来说, for (int i = 0; i
    【解决方案3】:

    您必须在列上进行设置。例如,

    dataGridView1.Columns["MyColumn"].SortMode = DataGridViewColumnSortMode.NotSortable;
    

    【讨论】:

      【解决方案4】:
      private void dataGridView1_ColumnAdded(object sender, DataGridViewColumnEventArgs e)
      {            
          e.Column.SortMode = DataGridViewColumnSortMode.NotSortable;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-12-17
        • 1970-01-01
        • 2023-03-21
        • 1970-01-01
        • 2013-07-06
        • 1970-01-01
        • 2016-10-26
        相关资源
        最近更新 更多