/// <summary> /// 添加完成之后需要验证 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void treelstFunction_ValidateNode(object sender, ValidateNodeEventArgs e) { ClearValidate(); ValidateData(); InitView(); }
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); } }
static void CheckNumber(string value, ValidateNodeEventArgs e) { try { decimal.Parse(value); } catch { e.ErrorText = "Hãy nhập giá trị sô"; e.Valid = false; } }
static void CheckDate(string value, ValidateNodeEventArgs e) { try { DateTime.Parse(value); } catch { e.ErrorText = "Ngày không hợp lệ"; e.Valid = false; } }
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; } }
//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); } } }