コード例 #1
0
        internal bool RaiseCurrentCellValidatingEvent(object oldValue, object newValue, TreeGridColumn column, out object changedNewValue, RowColumnIndex currentCellIndex, FrameworkElement currentCell, out string errorMessage, object rowData, TreeNode node)
        {
            var e = new TreeGridCurrentCellValidatingEventArgs(treeGrid)
            {
                OldValue = oldValue,
                NewValue = newValue,
                Column   = column,
                IsValid  = true,
                RowData  = rowData,
                Node     = node
            };
            var isValid = treeGrid.RaiseCurrentCellValidatingEvent(e);

            changedNewValue = e.NewValue;

            var cell = currentCell as TreeGridCell;

            if (!isValid)
            {
                cell.SetError(e.ErrorMessage, false);
            }
            else if (errorMessages == null || !(errorMessages.Keys.Any(x => x == column.MappingName)))
            {
                cell.RemoveError(false);
            }

            errorMessage = e.ErrorMessage;
            return(isValid);
        }