今天用Devexpress的SearchLookUpEdit发现个问题

 

 

 检查类别列为int类型,检查类别嵌入了一个SearchLookUpEdit后,效果是这样

 

 

 一旦点击清除按钮就会报错,目前猜想可能是公司给的那套组件影响的,明天测试一下。

报的错误内容是类型不符合,请将null用DBNULL代替……,试了一下午之后,

        /// <summary>
        /// 解决 int 类型的列点击清空按钮后报错的问题,将空值转换为 DBNull.Value
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void riCbCheckType_ParseEditValue(object sender, DevExpress.XtraEditors.Controls.ConvertEditValueEventArgs e)
        {
            if (e.Value == null)
            {
                e.Value = DBNull.Value;
            }
        }

用这个事件成功解决了,我认为原理应该就是提交时验证值得时候进行转换操作,但是用Validating事件也不行。在此记录这个问题。

posted @ 2020-02-04 20:04  Timano  阅读(433)  评论(0编辑  收藏  举报