日期:2014-05-18  浏览次数:21143 次

Devpress.XtraGrid.GridControl.GridView 保存数据的问题
昨天做了个例子,在行中编辑,添加新数据行,点按钮保存都挺顺利的,今天放项目上,一样的保存代码,也不知道哪个属性设置不对了,就是老出问题,添加了新行,得把鼠标再点下新行,保存才能成功。要不点击保存按钮后,该行单元格内还是处于编辑状态,保存不了,昨天的例子,点击保存后,单元格就不处于编辑状态了,这是什么问题,求解。

------解决方案--------------------
这是正常现象,要解决这一现象,必须在保存时添加如下代码方可:
C# code
gridView1.CloseEditor();
Application.DoEvents();
if (!gridView1.UpdateCurrentRow())
   return;

------解决方案--------------------
探讨
还是不行,我的Devpress.XtraGrid.GridControl.GridView 控件,没有上方法。现在如果我把保存的代码放一个按钮事件里,就正常保存,现在是工具栏的按钮,还是不行,应该是4楼的意思,但方法可能不对。

------解决方案--------------------
/// <summary>
/// 提交当前行的修改
/// 保存前最好用一下此函数, 这样确定修改的数据提交到Grid中
/// </summary>
/// <param name="grid"></param>
/// <returns></returns>
public static bool CommitXtraGridUpdate(DevExpress.XtraGrid.GridControl grid)
{
ColumnView view = (ColumnView)grid.FocusedView;
view.CloseEditor();
if (!view.UpdateCurrentRow()) return false;
return true;
}
------解决方案--------------------
grid.postedit
------解决方案--------------------
+上这段代码试试
C# code
this.bindingSource1.EndEdit();
                    this.gridView1.PostEditor();
                    gridView1.FocusedRowHandle = -1;