最初の2行は、次のとおりです。離れてクリックしてEnterキーを押して、データグリッドビューのセル編集を終了する違いは何ですか?私のDataGridViewのCellEndEditイベントの
if (dgvOptionsData.SortedColumn == null)
dgvOptionsData.Sort(dgvOptionsData.Columns["GroupNumber"], 0);
のDataGridViewがデータテーブルにバインドされています。
Cellから離れてクリックしてCellEndEditイベントを入力した場合のみ、並べ替え呼び出し時にリエントラシーエラーが発生します(操作は、SetCurrentCellAddressCore関数へのリエントラントコールが発生するため有効ではありません)。私がenterを押してイベントを入力すると、このエラーは発生しません。並べ替えられた列の値を編集していても、gridviewがソートされるとエラーは発生しません。
私はCellEndEditイベントを使用していないので、このエラーはもう問題ではありませんが、何が起きているのか、理由を理解したいので、コードを再構成しました。洞察があれば教えてください。
おかげ ダン
Dan、あなたのソリューションを覚えていれば、私はそれを聞くことに興味があります。私はちょうどCellEndEditイベントからCellValueChangedイベントにすべてのコードを移動することによって、この非常に解決策を解決しました。それはあなたがやったことなのでしょうか? (CellValueChangedはCellEndEditの直前で発生し、再入可能な問題を引き起こさない。) – clweeks