2017-08-08 9 views
0

現在、TelerikのRadGridViewコントロールを持つWPFアプリケーションがあります。私はデータベースからのデータを持ついくつかの列を持っていますが、データを入力するための3つのカスタム作成された列があります。今私の問題は、列の1つのセルにデータを入力すると、そのセルをクリックするとデータが消えることです。これらの変更をコミットするように私のアプリケーションを取得する必要がありますので、それは起こりません。私はそれがCellEditEndedイベント内でgridView.CommitEdit();を使用して正しくコード化されていると思ったが、データを入力してセルをクリックすると、stackoverflow例外がスローされる。誰が私にそれがなぜ、そしてこの問題の可能な解決策を説明することができるのですか?私はこれを行う方法を説明するオンラインで良いリソースを見つけるのに苦労しています。以下はCellEditEndedイベントのために私のコードです:Telerik RadGridView.CommitEdit()StackOverflow例外

private void gridView_CellEditEnded(object sender, GridViewCellEditEndedEventArgs e) 
    { 
     if(e.EditAction == GridViewEditAction.Commit) 
     { 
      gridView.CommitEdit(); 
     } 
    } 

誰も私が私が間違っているのか理解を助けることができるなら、それは非常に高く評価されるだろう:)

答えて

0

をあなたがするブールフラグを使用しようとすることができイベントハンドラがCommitEdit()メソッドを何度も呼び出すのを防ぐ:

bool handle = true; 
private void gridView_CellEditEnded(object sender, GridViewCellEditEndedEventArgs e) 
{ 
    if (e.EditAction == GridViewEditAction.Commit && handle) 
    { 
     handle = false; 
     gridView.CommitEdit(); 
     handle = true; 
    } 
} 
+0

これは間違いなくエラーをうまく取り除いたものです。しかし、今は編集がコミットされず、セルに追加するものが何かをクリックすると消えます。これは変です。私はそれにいくつかの余分な研究を行うだろうが、応答に感謝! –

関連する問題