void recalculate()
 {
     if (block())
     {
         try
         {
             object result = DBNull.Value;
             object curVal;
             object prevAmngVal = defaultAmang;
             for (int r = 0; r < tableSource.Rows.Count; ++r)
             {
                 DataRow row = tableSource.Rows[r];
                 if ((row.RowState != DataRowState.Deleted) && validator.check(row))
                 {
                     //
                     evaluatorRow.setVar(row);
                     curVal = evaluatorRow.getResult();
                     //
                     evaluatorAmangRow.setVar(colPrevValue, prevAmngVal);
                     evaluatorAmangRow.setVar(colCurValue, curVal);
                     prevAmngVal = evaluatorAmangRow.getResult();
                     //
                 }
             }
             evaluatorFinal.setVar(colAmangValue, prevAmngVal);
             ToolColumn.setColumnValue(tableDest, column, evaluatorFinal.getResult());
         }
         finally
         {
             unblock();
         }
     }
 }
Exemple #2
0
        void recalculate()
        {
            if (block())
            {
                try
                {
                    double result = 0;
                    for (int r = 0; r < tableSource.Rows.Count; ++r)
                    {
                        DataRow row = tableSource.Rows[r];
                        if (row.RowState != DataRowState.Deleted && validator.check(row))
                        {
                            for (int i = 0; i < columns.Length; ++i)
                            {
                                evaluator.setVar(columns[i], row[columns[i]]);
                            }

                            if (oper == ConstMathOperation.sum)
                            {
                                result += (double)evaluator.getResult(column);
                            }
                        }
                    }
                    ToolColumn.setColumnValue(tableDest, column, result);
                }

                finally
                {
                    unblock();
                }
            }
        }
 void recalculate()
 {
     if (block())
     {
         try
         {
             List <object> list = new List <object>();
             for (int r = 0; r < tableSource.Rows.Count; ++r)
             {
                 DataRow row = tableSource.Rows[r];
                 if (row.RowState != DataRowState.Deleted && validator.check(row))
                 {
                     object obj = row[columns[0]];
                     if (distinct)
                     {
                         if (list.IndexOf(obj) >= 0)
                         {
                             continue;
                         }
                     }
                     list.Add(obj);
                 }
             }
             ToolColumn.setColumnValue(tableDest, column, list.Count);
         }
         finally
         {
             unblock();
         }
     }
 }
 void tableS__ColumnChanged(object sender, DataColumnChangeEventArgs e)
 {
     for (int s = 0; s < columnS_.Length; ++s)
     {
         if (e.Column.ColumnName == columnS_[s])
         {
             ToolColumn.setColumnValue(tableD_, columnD_[s], e.ProposedValue);
         }
     }
 }
        public TablesColumnsBinding(DataTable tableS, DataTable tableD, string[] columnS, string[] columnD, bool inherit)
        {
            tableS_  = tableS;
            columnS_ = columnS;
            tableD_  = tableD;
            columnD_ = columnD;
            tableS_.ColumnChanged += new DataColumnChangeEventHandler(tableS__ColumnChanged);

            if (inherit)
            {
                tableD_.RowChanged += new DataRowChangeEventHandler(tableD__ColumnChanged);
            }

            for (int d = 0; d < columnD_.Length; ++d)
            {
                if (ToolColumn.isColumnFullName(columnD_[d]))
                {
                    ToolColumn.setColumnValue(tableD_, columnD_[d], ToolColumn.getColumnLastValue(tableS_, columnS_[d], ToolCell.getCellTypeDefaulValue(tableS_.Columns[columnS_[d]].DataType)));
                }
            }
        }