Ejemplo n.º 1
0
        private void CheckRadioButtons(ExcelFile Workbook, int ActiveSheet, int i, TCellAddress LinkedCell)
        {
            int Sheet = ActiveSheet + 1;

            if (!string.IsNullOrEmpty(LinkedCell.Sheet))
            {
                Sheet = Workbook.GetSheetIndex(LinkedCell.Sheet, false);
            }
            if (Sheet > 0)
            {
                int    XF = 1;
                object r  = Workbook.GetCellValue(Sheet, LinkedCell.Row, LinkedCell.Col, ref XF);
                if (r == null)
                {
                    CheckGroup(i, 0); return;
                }
                if (r is TFlxFormulaErrorValue)
                {
                    if ((TFlxFormulaErrorValue)r == TFlxFormulaErrorValue.ErrNA)
                    {
                        CheckGroup(i, 0); return;
                    }
                    //if it isn't n/a, its value doesn't matter. rb stays as is.
                }
                else
                {
                    double pd;
                    if (TBaseParsedToken.ExtToDouble(r, out pd)) //something like a string doesn't matter
                    {
                        if (pd <= 0 || pd >= int.MaxValue)
                        {
                            CheckGroup(i, 0); return;
                        }                                                                // in this case it does matter, all cbs are unselected.
                        int p = (int)pd;
                        CheckGroup(i, p);
                    }
                }
            }
        }