public virtual void RefreshItem() { if (frmDataTable == null) { return; } if (GridViewEdit == null) { return; } int index = GridViewEdit.FocusedRowHandle;//原来的FocusedRowHandle GetCurrAllItem(); frmDataTable.AcceptChanges(); GridViewEdit.GridControl.DataSource = frmDataTable.DefaultView;//可能引发gridView1_FocusedRowChanged GridViewEdit.BestFitColumns(); SetWMode("VIEW"); if (index == GridViewEdit.FocusedRowHandle || frmDataTable.DefaultView.Count == 0) { //如果原来的FocusedRowHandle=新的FocusedRowHandle, //因为如果不等,则gridControl1.DataSource = dtDep.DefaultView会自动引发gridView1_FocusedRowChanged StaticFunctions.SetControlBindings(ParentControl, frmDataTable.DefaultView); } }