2011-02-06 29 views
0

datagridviewに問題があります。開始時データグリッドビューで並べ替えを無効にできません

私は列でソート無効(dictionaryDataGridView_ColumnAddedとデザイナーで)

私はcolumnheaderのソートでダブルクリックするとができます。

これは機能します。

私は再度列ヘッダーを無効にするときにダブルクリックします。

とするとき、私はこのコラムのSortModeがNotSortableで確認してください。

これは素晴らしいことです。

今、私は行内の値を変更するときに、私の列をソートします。

それは私がこのソートを中止することはできませんので、視界から彼の行、そして私のために失われたユーザーのために非常にストレスです。私はそれがSortGlyphDirectionだ参照で

Noneに設定され、かつSortModeNotSortableに設定されているので、It'couldn'tソートが、ソートされます。

誰でも知っていますか?それは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; 
} 

答えて

関連する問題