示例#1
0
        private void OnCellEdited(object sender, EventArgs e)
        {
            ExcelEventArg arg = new ExcelEventArg()
            {
            };
            Range previousRange = rangePreviousValue;
            Range range         = GetSelectedRange();

            if (range == null)
            {
                return;
            }
            if (range.CellCount > 1)
            {
                arg.Range = range;
            }
            else
            {
                arg.Range = previousRange;
            }
            if (arg.Range == null)
            {
                arg.Range = range;
            }

            if (arg.Sheet == null)
            {
                arg.Sheet = arg.Range.Sheet;
            }

            if (ThrowEvent && Edited != null)
            {
                Edited(arg);
            }
        }
示例#2
0
        private void spreadsheetControl_CellValueChanged(object sender, DevExpress.XtraSpreadsheet.SpreadsheetCellEventArgs e)
        {
            ExcelEventArg arg = new ExcelEventArg()
            {
            };

            Range range = GetSelectedRange();

            Cell   active = getActiveCell();
            object value  = getValueAt(active.Row, active.Column, getActiveSheetName());

            if (value is float || value is double || value is int)
            {
                bool availableDigitNumber = validateNumberDigit(value);
                if (!availableDigitNumber)
                {
                    var sheet = this.spreadsheetControl.Document.Worksheets[getActiveSheetName()];
                    sheet.Cells[active.Row - 1, active.Column - 1].Value = e.OldValue;
                    Kernel.Util.MessageDisplayer.DisplayError("Number Digit", "Number of digit is over !");
                    return;
                }
            }
            //Range previousRange = rangePreviousValue;
            //IsSameRange = previousRange == range;

            if (range == null || (rangePreviousValue != null && rangePreviousValue.Name.Equals(range.Name)))
            {
                return;
            }


            if (range.CellCount > 1)
            {
                arg.Range = range;
            }
            else
            {
                arg.Range = rangePreviousValue;
            }
            if (arg.Range == null)
            {
                arg.Range = range;
            }

            if (arg.Sheet == null)
            {
                arg.Sheet = arg.Range.Sheet;
            }

            if (ThrowEvent && Edited != null)
            {
                Edited(arg);
                rangePreviousValue = range;
            }
        }