代码之家  ›  专栏  ›  技术社区  ›  GamerTalks

Telerik RadGridView。CommittedIt()堆栈溢出异常

  •  0
  • GamerTalks  · 技术社区  · 7 年前

    gridView.CommitEdit(); 然而,在CellEditEnded事件中,当我输入数据并单击单元格外时,会引发stackoverflow异常。有谁能向我解释这是为什么以及这个问题的可能解决方案吗?我很难在网上找到好的资源来解释如何做到这一点。下面是我的CellEditEnded事件代码:

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

    如果有人能帮助我理解我做错了什么,我将不胜感激:)

    1 回复  |  直到 7 年前
        1
  •  0
  •   mm8    7 年前

    您可以尝试使用布尔标志来防止事件处理程序调用 CommitEdit() 方法反复:

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