예제 #1
0
        public void addRelation(string[] pCols, ITableColumnChange pActivity, IBlockPoint pBlock, IRowValidator pValidator, ColumnChangeEventType pEvent)
        {
            pValidator = (pValidator == null) ? new RowValidatorTrue() : pValidator;

            try
            {
                blockPointMain.block();
                for (int i = 0; i < tableTarget.Rows.Count; ++i)
                {
                    DataRow row = tableTarget.Rows[i];
                    if (pValidator.check(row))
                    {
                        pActivity.initForColumnChanged(row);
                    }
                }
            }
            finally
            {
                blockPointMain.unblock();
            }

            foreach (string col in pCols)
            {
                add(col, pActivity, pBlock, pValidator, pEvent);
            }
        }
예제 #2
0
 void refreshVal(double pValue, string pCol)
 {
     if (_blockPoint.block())
     {
         try
         {
             ToolColumn.setColumnValue(_tableSchema, pCol, pValue);
         }
         finally
         {
             _blockPoint.unblock();
         }
     }
 }
예제 #3
0
 public bool block()
 {
     if (blockPoint.block())
     {
         foreach (IBlockPoint bp in listChildPoints)
         {
             bp.block();
         }
         return(true);
     }
     return(false);
 }