2017-08-08 120 views
0

我目前有一个WPF应用程序与Telerik的RadGridView控件。我有一些来自数据库的数据列,而我有三个用于输入数据的自定义列。我现在的问题是,一旦我将数据输入到其中一列中的单元格中,当我单击该单元格时,数据就会消失。我需要让我的应用程序提交这些更改,这样才不会发生。我以为我已经使用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

这肯定摆脱了错误的谢天谢地。但是,现在编辑没有提交,我添加到单元格中的任何内容都会消失,因为我点击它是很奇怪的。我会做一些额外的研究,但谢谢你的回应! –