private void ItemTreeList_ValidateNode(object sender, DevExpress.XtraTreeList.ValidateNodeEventArgs e)
        {
            IsNeedValidateNode = false;
            if (string.IsNullOrEmpty(Item.Code)
                || string.IsNullOrEmpty(Item.Name))
            {
                e.ErrorText = "填写的数据不完整...";
                e.Valid = false; //正常情况执行这一步会弹出一个窗口,显示e.ErrorText设置的文本,但是如果是通过
//ItemTreeList_Leave方法调用这个事件,或从其他地方调用ItemTreeList_ValidateNode
//则不弹出任何窗口
//这个控件的bug感觉还有不少,我启用ItemTreeList_Leave也是因为修改了当前行,然后切换到
//另一个控件时,它不执行ValidateNode事件
             
            }
            else
            {               
                SaveCustomerDir(CurrentItem);
            }   
        }        /// <summary>
        /// 是否需要验证ValidateNode事件(应付控件Bug临时办法)
        /// </summary>
        private bool IsNeedValidateNode = false;        private void ItemTreeList_ValidatingEditor(object sender, DevExpress.XtraEditors.Controls.BaseContainerValidateEditorEventArgs e)
        {
            IsNeedValidateNode = true;
        }        /// <summary>
        /// 焦点丢失
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void ItemTreeList_Leave(object sender, EventArgs e)
        {
            if (IsNeedValidateNode)
            {
                ValidateNodeEventArgs ValidateNode = new ValidateNodeEventArgs(CurrentNode);
                ItemTreeList_ValidateNode(sender, ValidateNode);
            }
        }