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"];
        }
    }
}

}

相关推荐
大家的林语冰1 小时前
🎉 Vercel 官宣 Next 16.3 正式发布,GitHub 第一全栈框架再次进化!
前端·javascript·前端框架
不爱说话郭德纲2 小时前
我只给了 TRAE Work 一张差评截图,它最后却把自己的 P0 结论推翻了?
前端·后端·架构
猿长大人2 小时前
C# | 函数式编程入门
开发语言·c#·.net
用户938515635072 小时前
从 DOM 编程到声明式 UI:React useRef 与 useState 底层全解析
前端·javascript·react.js
kisshyshy2 小时前
前端路由进化史:从刷新白屏到SPA,手写一个Hash路由就懂了!
前端·javascript·react.js
Sterting3 小时前
第 8 节:表单 — 前端校验的第一道防线
前端·javascript
tedcloud1233 小时前
Kimi-K3 部署指南:大模型应用开发环境搭建实践
linux·运维·服务器·开源·音视频
保加利亚的风3 小时前
Docker 学习文档(Mac + Docker Desktop 版)
前端·后端