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

}

相关推荐
淡海水5 小时前
12-02-性能-数据结构性能调查案例1-5
数据结构·性能优化·c#
梦想平凡5 小时前
情怀棋牌源代码焕新记录(一):全新国风UI与原版工程梳理
java·服务器·数据库·websocket·网络协议·cocos2d
SEO_juper5 小时前
2026年用Python分析网站访问日志:看清Googlebot和AI爬虫怎么爬你的站(附完整代码)
开发语言·前端·seo·独立站·谷歌优化
摸鱼仙人~5 小时前
React 原理进阶:彻底理解 re-render、React.memo、useMemo 与 useCallback
前端·vue.js
IMPYLH5 小时前
HTML 的 <small> 元素
前端·网络·html
IT_陈寒5 小时前
Vue的响应式让我加班到凌晨,问题竟出在这个不起眼的地方
前端·人工智能·后端
程序员-Benothing5 小时前
Linux用户与组管理命令大全:useradd、usermod、groupadd、passwd
linux·运维·服务器
ai小陈5 小时前
GPU服务器租用安全配置实战:SSH密钥与端口最小化开放
服务器·人工智能·深度学习·安全·ai·gpu算力
Java的搬运工5 小时前
使用 C# 轻松管理 PDF 文件的用户权限
c#·用户权限
ccino .5 小时前
Docker 容器删除卡在 Removal In Progress / Dead 解决
服务器·安全·web安全·网络安全