C# gridlookupedit选中内容重复还原操作

private void gridView1_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)

{

var _Gdv = gridView1;

var _currentRowData = _Gdv.GetFocusedDataRow();

if (_currentRowData == null) return;

复制代码
var view = gridView1;

if (_Gdv.ActiveEditor is GridLookUpEdit)
{
    if (_Gdv.FocusedColumn.View.EditingValue == null) return;

    var _Edit = _Gdv.ActiveEditor as GridLookUpEdit;
    var _SelectRowData = _Edit.Properties.View.GetFocusedDataRow();
    if (_SelectRowData == null) return;

    if (_Edit.Properties.Name == "glue_hzyy") // 会诊医院
    {
    // 记录旧值用于回滚
        var oldValue = _currentRowData["HZYYBM"];
        _currentRowData["HZYYBM"] = _SelectRowData["ITEM_CODE"];

        // 检查是否存在同一医院的统一会诊收费等级重复
        if (CheckDuplicateHospitalGrade(_currentRowData))
        {
          // 要加上这句,可能有部分操作会导致数据又刷新成新数据
            _currentRowData["HZYYBM"] = oldValue;
           _Edit.EditValue= oldValue;
           _Edit.IsModified=false;
           e.Value=oldValue;
		  MessageBox.Show("同一医院的同一会诊收费等级,只能存在一份!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
        }
        else // 不重复直接赋值名称
        {
            _currentRowData["HZYYMC"] = _SelectRowData["ITEM_NAME"];
        }
    }
}

}

相关推荐
qq_45239623几秒前
第十一篇:《前端性能优化体系:从加载到交互的全链路》
前端·性能优化·交互
Mh4 分钟前
听说我兄弟喜欢跑车,所以必须安排上
前端·javascript·vue.js
zttbee4 分钟前
vue学习(白话功能版)
前端·vue.js·学习·前端框架
qq_426003966 分钟前
多语言新增语种全量测试策略
前端·javascript·python·pycharm·自动化
云飞云共享云桌面7 分钟前
机械设计研发成本优化:怎样用一台高性能服务器替代 10 台 SolidWorks 工作站?
大数据·运维·服务器·汽车·制造
星云API技术支持9 分钟前
企业微信二次开发:控制台回调预览与服务器Webhook如何配合
服务器·github·企业微信
吠品11 分钟前
TortoiseSVN 状态图标不显示的排查与解决办法
java·服务器·数据库
Horn Still Sounds12 分钟前
Linux系统编程进阶:进程回收、程序替换与多线程并发模型
linux·运维·服务器·c语言
nicole bai13 分钟前
前端封装el-table及注意点
前端·javascript·vue.js
晨枫阳23 分钟前
Vue 前端构建工具链完全理解指南
前端·javascript·vue.js