コード例 #1
0
        public override void PerformAction(object source)
        {
            if (source is SpreadView)
            {
                SpreadView spread = (SpreadView)source;

                SheetView sheet = spread.Sheets[spread.ActiveSheetIndex];

                CellRange cr = sheet.GetSelection(0);

                StyleInfo si = new StyleInfo();



                for (int r = 0; r < cr.RowCount; r++)
                {
                    for (int c = 0; c < cr.ColumnCount; c++)
                    {
                        //sheet.Models.Style.GetCompositeInfo(cr.Row + r, cr.Column + c, -1, si);

                        if (!si.Locked)
                        {
                            sheet.Cells[cr.Row + r, cr.Column + c].ResetValue();
                        }
                    }
                }
            }
        }
コード例 #2
0
        public static Cell GetSelectedCell(SheetView sheet)
        {
            CellRange ran = sheet.GetSelection(0);

            if (ran != null)
            {
                Cell cell = null;
                //选中整页
                if (ran.Column == -1 && ran.Row == -1 && ran.ColumnCount == -1 && ran.RowCount == -1)
                {
                    cell = sheet.Cells[0, 0, sheet.RowCount - 1, sheet.ColumnCount - 1];
                }
                //选中整行
                else if (ran.Column == -1 && ran.ColumnCount == -1)
                {
                    cell = sheet.Cells[ran.Row, 0, ran.RowCount + ran.Row - 1, sheet.Columns.Count - 1];
                }
                //选中整列
                else if (ran.Row == -1 && ran.RowCount == -1)
                {
                    cell = sheet.Cells[0, ran.Column, sheet.Rows.Count - 1, ran.Column + ran.ColumnCount - 1];
                }
                else
                {
                    cell = sheet.Cells[ran.Row, ran.Column, ran.RowCount + ran.Row - 1, ran.Column + ran.ColumnCount - 1];
                }

                return(cell);
            }
            return(null);
        }