示例#1
0
        /// <summary>
        /// 添加完成之后需要验证
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void treelstFunction_ValidateNode(object sender, ValidateNodeEventArgs e)
        {
            ClearValidate();

            ValidateData();

            InitView();
        }
示例#2
0
 public static void SetValidation(object validateType, string fieldName, ValidateNodeEventArgs e)
 {
     if (validateType.Equals(TreeListValidationType.CheckNumber))
     {
         CheckNumber(e.Node[fieldName].ToString(), e);
     }
     else if (validateType.Equals(TreeListValidationType.ChackDate))
     {
         CheckDate(e.Node[fieldName].ToString(), e);
     }
 }
示例#3
0
 static void CheckNumber(string value, ValidateNodeEventArgs e)
 {
     try
     {
         decimal.Parse(value);
     }
     catch
     {
         e.ErrorText = "Hãy nhập giá trị sô";
         e.Valid = false;
     }
 }
示例#4
0
 static void CheckDate(string value, ValidateNodeEventArgs e)
 {
     try
     {
         DateTime.Parse(value);
     }
     catch
     {
         e.ErrorText = "Ngày không hợp lệ";
         e.Valid = false;
     }
 }
示例#5
0
        private void Account_TreeList_ValidateNode(object sender, ValidateNodeEventArgs e)
        {
            Account_TreeList.ClearColumnErrors();

            Accounts       selected = Account_TreeList.GetFocusedRow().CastTo <Accounts>();
            TreeList       view     = sender as TreeList;
            TreeListColumn column;

            if (selected == null)
            {
                return;
            }

            string accountID = selected.AccountID;

            if (string.IsNullOrWhiteSpace(accountID))
            {
                e.Valid = false;
                //Set errors with specific descriptions for the columns
                column = view.Columns[nameof(selected.AccountID)];
                view.SetColumnError(column, BSMessage.BSM000013);
            }

            // Kiểm tra tồn tại trong grid
            if (AccountsData.ToList().Count(o => o.AccountID == accountID) > 1)
            {
                e.Valid = false;
                column  = view.Columns[nameof(selected.AccountID)];
                view.SetColumnError(column, BSMessage.BSM000015);
            }

            if (string.IsNullOrEmpty(selected.AccountName))
            {
                e.Valid = false;
                column  = view.Columns[nameof(selected.AccountName)];
                view.SetColumnError(column, BSMessage.BSM000011);
            }

            if (string.IsNullOrEmpty(selected.AccountGroupID))
            {
                e.Valid = false;
                column  = view.Columns[nameof(selected.AccountGroupID)];
                view.SetColumnError(column, BSMessage.BSM000016);
            }

            if (selected.Status != ModifyMode.Insert)
            {
                selected.Status = ModifyMode.Update;
            }
        }
示例#6
0
        //Xử lý khi mất focus trên dòng đang nhập
        private void TreeList_1_ValidateNode_1(object sender, ValidateNodeEventArgs e)
        {
            if (_BeforeSaveEvent != null) _BeforeSaveEvent(this);

            if (IsFilterRow()) return;
            bool isNewNode = false;
            DataSet ds = null;
            DataRow UpdateRow = null;

            //Lấy dữ liệu nhập từ phía người dùng
            if (e.Node.GetValue(IDField).ToString() == "-2")
            {
                isNewNode = true;
                if (IsVisibleBit)
                {
                    if (e.Node.GetValue("VISIBLE_BIT") == DBNull.Value || e.Node.GetValue("VISIBLE_BIT").ToString() == "")
                    {
                        e.Node.SetValue("VISIBLE_BIT", 'Y');
                    }
                }
                else
                {
                    e.Node.SetValue("VISIBLE_BIT", 'Y');
                }
                ds = DatabaseFB.LoadDataSet(GroupTableName, IDField, -2);
                UpdateRow = ds.Tables[0].NewRow();
                for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
                    UpdateRow[ds.Tables[0].Columns[i].ColumnName] = e.Node.GetValue(ds.Tables[0].Columns[i].ColumnName);
            }
            else
            {
                isNewNode = false;
                UpdateRow = ((DataTable)this.TreeList_1.DataSource).Rows.Find(e.Node.GetValue(IDField));
            }
            if (UpdateRow == null) return;

            //Trim dữ liệu
            DataRow row = ((DataRowView)this.TreeList_1.GetDataRecordByNode(e.Node)).Row;
            HelpInputData.TrimAllData(row);

            //Kiểm tra dữ liệu dựa trên luật
            e.Valid = TreeValidation.ValidateNode(this.TreeList_1, e.Node, Rules);

            //Kiểm tra tính hợp lệ so với dòng khác
            if(e.Valid == true)
            {
                if (this.UniqueFields != null)
                {
                    e.Valid = TreeValidation.CheckDuplicateFieldNode(this.TreeList_1,
                        ((DataTable)this.TreeList_1.DataSource).DataSet,
                        e,
                        this.UniqueFields,
                        this.Subjects);
                }
                if (e.Valid == false) return;

                //Cập nhật dự liệu trên dòng đang nhập vào DataSet
                if (isNewNode)
                {
                    this.UpdateID = DABase.getDatabase().GetID(this.GenName);

                    e.Node.SetValue(IDField, this.UpdateID);
                    UpdateRow[IDField] = this.UpdateID;
                    ds.Tables[0].Rows.Add(UpdateRow);
                }
                else
                {
                    this.UpdateID = HelpNumber.ParseInt64(e.Node.GetValue(IDField));
                    try
                    {
                        ds = DatabaseFB.LoadDataSet(GroupTableName, IDField, this.UpdateID);
                        ds.Tables[0].Rows[0].SetModified();
                        ds.Tables[0].Rows[0].ItemArray = UpdateRow.ItemArray;
                    }
                    catch { }
                }
                //Cập nhật xuống DB
                if (DABase.getDatabase().UpdateTable(ds) < 0)
                {
                    if (isNewNode)
                    {
                        e.Node.SetValue(IDField, "-2");
                        this.UpdateID = -2;
                    }
                    //this.ShowReadOnlyTreeList(false);
                    e.Valid = false;
                    if (_AfterSaveFailEvent != null) _AfterSaveFailEvent(this);
                }
                else
                {
                    if (isNewNode)
                    {
                        this.TreeList_1.BeginUpdate();
                        ((DataTable)this.TreeList_1.DataSource).AcceptChanges();
                        this.TreeList_1.EndUpdate();
                    }
                    e.Valid = true;
                    this.ShowReadOnlyTreeList(true);
                    if (_AfterSaveSuccEvent != null) _AfterSaveSuccEvent(this);
                }
            }
        }