コード例 #1
0
        public CellAutomationSpace(
            string[] pColumnsVars,
            object pTopOperDef,
            IEvaluator pTopAny,
            IEvaluator pTopTotal,
            IEvaluator pSubCorrect,
            string[] pSubCols,
            IEvaluator[] pSubAny,
            IRowsSelector pSelectorTop,
            IRowsSelector pSelectorBot)
        {
            //
            topOperDef = pTopOperDef;

            evalOnTopAny       = pTopAny;
            evalOnTopAnyResult = pTopTotal;
            evalOnSubCorrect   = pSubCorrect;

            columnsCalc   = pSubCols;
            evalOnSubCalc = pSubAny;

            selectorTop = pSelectorTop;
            selectorBot = pSelectorBot;

            columnsVars = pColumnsVars;
        }
コード例 #2
0
        public RowColumnsBindingSpaceExp(DataTable table, IRowEvaluator pEvaluator, string[] trigerCols, string pTopExp, string pSubCorrectExp, string[] pSubCols, string[] pSubExp, IRowsSelector pSelectorTop, IRowsSelector pSelectorBot, IRowValidator pValidator)
            : base(table, pValidator)
        {
            //
            columns = trigerCols;

            selectorTop = pSelectorTop;
            selectorBot = pSelectorBot;
            subCols     = pSubCols;
            subExp      = pSubExp;

            topExp        = string.Format(pTopExp, _TOP_VALUE_);
            subCoorectExp = string.Format(pSubCorrectExp, _TOP_VALUE_);
            for (int i = 0; i < subExp.Length; ++i)
            {
                subExp[i] = string.Format(subExp[i], _TOP_VALUE_);
            }

            //

            //
            evaluator = pEvaluator;
            evaluator.addVar(_TOP_VALUE_, typeof(double));
            evaluator.addExpression(nameTopExp, topExp, typeof(double));
            evaluator.addExpression(nameSubCoorectExp, subCoorectExp, typeof(double));
            for (int i = 0; i < pSubExp.Length; ++i)
            {
                evaluator.addExpression(getName(subCols[i]), subExp[i], typeof(double));
            }
            //

            tableSource.ColumnChanged += new DataColumnChangeEventHandler(table_ColumnChangedForRow);
        }
コード例 #3
0
 public RowLocalGroupKeeper(DataTable table, IRowsSelector pForTop, IRowsSelector pForSub, IRowValidator pValidator)
 {
     //
     forTop             = pForTop;
     forSub             = pForSub;
     validator          = pValidator;
     table.RowDeleting += new DataRowChangeEventHandler(table_RowDeleting);
 }
コード例 #4
0
        public RowColumnsBindingSpace(DataTable table, string[] col, double coif, ICellMath pForward, ICellMath pBackward, IRowsSelector pForTop, IRowsSelector pForSub, IRowValidator pValidator)
            : base(table, col, coif, pForward, pBackward, pValidator)
        {
            //
            forTop = pForTop;
            forSub = pForSub;

            tableSource.RowDeleting   += new DataRowChangeEventHandler(table_RowDeleting);
            tableSource.RowChanged    += new DataRowChangeEventHandler(table_RowChanged);
            tableSource.ColumnChanged += new DataColumnChangeEventHandler(table_ColumnChanged);
        }