示例#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
        private void DrawPagePoint(Graphics g)
        {
            if (ActiveSheet != null && ActiveSheet.ContainingViews.Length > 0)
            {
                SpreadView View = ActiveSheet.ContainingViews[0];
                Rectangle  Rect = View.GetViewportRectangle(0, 0);

                float LeftWidth = 0f;
                for (float i = PaperWidth; i < TotalWidth; i += PaperWidth)
                {
                    if (LeftColumn != 0)
                    {
                        LeftWidth = ColumnWidths[LeftColumn - 1];
                    }

                    float tmp = i - LeftWidth + Rect.Left;
                    if (tmp >= Rect.Left && tmp <= Rect.Right)
                    {
                        p1.X = tmp - 4f;
                        p1.Y = 0f;
                        p2.X = tmp + 4f;
                        p2.Y = 0f;
                        p3.X = tmp;
                        p3.Y = 9f;

                        Brush brush = new SolidBrush(Color.DarkGray);
                        g.FillPolygon(brush, new PointF[] { p1, p2, p3 }, System.Drawing.Drawing2D.FillMode.Alternate);
                        brush.Dispose();
                    }
                }

                float TopHeight = 0f;
                for (float i = PaperHeight; i < TotalHeight; i += PaperHeight)
                {
                    if (TopRow != 0)
                    {
                        TopHeight = RowHeights[TopRow - 1];
                    }

                    float tmp = i - TopHeight + Rect.Top;
                    if (tmp >= Rect.Top && tmp <= Rect.Bottom)
                    {
                        p1.X = 0f;
                        p1.Y = tmp - 4f;
                        p2.X = 0f;
                        p2.Y = tmp + 4f;
                        p3.X = 9f;
                        p3.Y = tmp;

                        Brush brush = new SolidBrush(Color.DarkGray);
                        g.FillPolygon(brush, new PointF[] { p1, p2, p3 }, System.Drawing.Drawing2D.FillMode.Alternate);
                        brush.Dispose();
                    }
                }
            }
        }
示例#3
0
文件: MyCell.cs 项目: scaperow/-V2.0
        void HorizontalScrollBar_Scroll(object sender, ScrollEventArgs e)
        {
            if (ActiveSheet != null && ActiveSheet.ContainingViews.Length > 0)
            {
                SpreadView View = ActiveSheet.ContainingViews[0];
                LeftColumn  = View.GetViewportLeftColumn(ActiveSheetIndex, 0);
                RightColumn = View.GetViewportRightColumn(ActiveSheetIndex, 0);

                Invalidate();
            }
        }
示例#4
0
文件: MyCell.cs 项目: scaperow/-V2.0
        void VerticalScrollBar_Scroll(object sender, ScrollEventArgs e)
        {
            if (ActiveSheet != null && ActiveSheet.ContainingViews.Length > 0)
            {
                SpreadView View = ActiveSheet.ContainingViews[0];
                TopRow    = View.GetViewportTopRow(ActiveSheetIndex, 0);
                BottomRow = View.GetViewportBottomRow(ActiveSheetIndex, 0);

                Invalidate();
            }
        }
示例#5
0
 /// <summary>
 /// Action สำหรับกดปุ่ม F5 บน Cell เพื่อแสดง Find Dialog.
 /// </summary>
 /// <param name="sender"></param>
 void actionF5_Action(object sender)
 {
     if (sender is SpreadView)
     {
         if (KeyPressF5 != null)
         {
             SpreadView view  = (SpreadView)sender;
             SheetView  sheet = view.Sheets[view.ActiveSheetIndex];
             KeyPressF5(this, sheet.ActiveRowIndex, sheet.ActiveColumnIndex);
         }
     }
 }
示例#6
0
文件: MyCell.cs 项目: scaperow/-V2.0
        protected override void OnMouseWheel(MouseEventArgs e)
        {
            base.OnMouseWheel(e);

            if (ActiveSheet != null && ActiveSheet.ContainingViews.Length > 0)
            {
                SpreadView View = ActiveSheet.ContainingViews[0];
                TopRow    = View.GetViewportTopRow(ActiveSheetIndex, 0);
                BottomRow = View.GetViewportBottomRow(ActiveSheetIndex, 0);

                Invalidate();
            }
        }
示例#7
0
        protected override bool IsInputKey(Keys keyData)
        {
            if (ActiveSheet != null && ActiveSheet.ContainingViews.Length > 0)
            {
                SpreadView View = ActiveSheet.ContainingViews[0];
                TopRow      = View.GetViewportTopRow(ActiveSheetIndex, 0);
                BottomRow   = View.GetViewportBottomRow(ActiveSheetIndex, 0);
                LeftColumn  = View.GetViewportLeftColumn(ActiveSheetIndex, 0);
                RightColumn = View.GetViewportRightColumn(ActiveSheetIndex, 0);

                Invalidate();
            }

            return(base.IsInputKey(keyData));
        }
示例#8
0
        public void OnActionRemoveRow()
        {
            if (!m_bBind)
            {
                return;
            }

            SpreadView spView = null;

            if ((m_owner as FpSpread) != null)
            {
                spView = m_owner.GetRootWorkbook();
            }
            actionRemoveRow_Action(spView);
        }
示例#9
0
        /// <summary>
        /// Action สำหรับเพิ่ม Row ใหม่
        /// </summary>
        /// <param name="sender"></param>
        void actionAddNewRow_Action(object sender)
        {
            if (sender is SpreadView)
            {
                SpreadView view       = (SpreadView)sender;
                int        sheetIndex = view.ActiveSheetIndex;
                if (sheetIndex < 0)
                {
                    return;
                }

                if (RowAdding != null)
                {
                    EventRowAdding eArg = new EventRowAdding();
                    RowAdding(this, eArg);
                    if (eArg.Cancel)
                    {
                        return;
                    }
                }

                SheetView sheet = view.Sheets[sheetIndex];
                if (sheet.RowCount == 0)
                { // ถ้าไม่ซักแถว
                    sheet.AddRows(0, 1);
                    sheet.SetActiveCell(sheet.RowCount - 1, 1, true);
                    sheet.SetActiveCell(sheet.RowCount - 1, 0, true);
                }
                else
                {
                    // เช็คดูก่อนว่าแถวสุดท้าย ว่างหรือไม่ ??
                    int lastRowNonEmpty = sheet.GetLastNonEmptyRow(NonEmptyItemFlag.Data);
                    if (lastRowNonEmpty == sheet.RowCount - 1)
                    {  // ถ้าแถวสุดท้ายไม่ว่าง ก็เพิ่มแถวได้เลย
                        // Add new row.
                        sheet.AddRows(sheet.RowCount, 1);
                    }

                    sheet.SetActiveCell(sheet.RowCount - 1, 0, true);
                    view.ShowActiveCell(VerticalPosition.Center, HorizontalPosition.Center);
                }

                if (RowAdded != null)
                {
                    RowAdded(this, sheet.RowCount - 1);
                }
            }
        }
示例#10
0
文件: MyCell.cs 项目: scaperow/-V2.0
        protected override void OnActiveSheetChanged(EventArgs e)
        {
            base.OnActiveSheetChanged(e);

            if (ActiveSheet != null && ActiveSheet.ContainingViews.Length > 0)
            {
                SpreadView View = ActiveSheet.ContainingViews[0];
                TopRow      = View.GetViewportTopRow(ActiveSheetIndex, 0);
                BottomRow   = View.GetViewportBottomRow(ActiveSheetIndex, 0);
                LeftColumn  = View.GetViewportLeftColumn(ActiveSheetIndex, 0);
                RightColumn = View.GetViewportRightColumn(ActiveSheetIndex, 0);
            }

            UpdateColumnsWidth();
            UpdateRowsHeight();

            Invalidate();
        }
示例#11
0
        /// <summary>
        /// Action สำหรับลบแถว
        /// </summary>
        /// <param name="sender"></param>
        void actionRemoveRow_Action(object sender)
        {
            if (sender is SpreadView)
            {
                SpreadView view       = (SpreadView)sender;
                int        sheetIndex = view.ActiveSheetIndex;
                if (sheetIndex < 0)
                {
                    return;
                }


                SheetView sheet = view.Sheets[sheetIndex];

                if (sheet.RowCount <= 0 || sheet.ActiveRowIndex < 0)
                {
                    return;
                }

                if (RowRemoving != null)
                {
                    EventRowRemoving eArg = new EventRowRemoving();
                    eArg.RowIndex = sheet.ActiveRowIndex;

                    RowRemoving(this, eArg);
                    if (eArg.Cancel)
                    {
                        return;
                    }
                }

                sheet.RemoveRows(sheet.ActiveRowIndex, 1);

                if (RowRemoved != null)
                {
                    RowRemoved(this);
                }
            }
        }
示例#12
0
文件: MyCell.cs 项目: scaperow/-V2.0
        void Sheet_PropertyChanged(object sender, SheetViewPropertyChangeEventArgs e)
        {
            if (e.PropertyName == "PrintInfo")
            {
                Invalidate();
            }
            else if (e.PropertyName == "RowCount" || e.PropertyName == "ColumnCount")
            {
                if (ActiveSheet.ContainingViews.Length > 0)
                {
                    SpreadView View = ActiveSheet.ContainingViews[0];
                    TopRow      = View.GetViewportTopRow(ActiveSheetIndex, 0);
                    BottomRow   = View.GetViewportBottomRow(ActiveSheetIndex, 0);
                    LeftColumn  = View.GetViewportLeftColumn(ActiveSheetIndex, 0);
                    RightColumn = View.GetViewportRightColumn(ActiveSheetIndex, 0);
                }

                UpdateColumnsWidth();
                UpdateRowsHeight();

                Invalidate();
            }
        }
示例#13
0
文件: MyCell.cs 项目: scaperow/-V2.0
        private void DrawPageLine(Graphics g)
        {
            try
            {
                if (ActiveSheet != null && ActiveSheet.ContainingViews.Length > 0)
                {
                    Pen pen = new Pen(SystemColors.ControlDarkDark, 2f);
                    pen.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash;

                    SpreadView View = ActiveSheet.ContainingViews[0];
                    Rectangle  Rect = View.GetViewportRectangle(0, 0);

                    float temp      = 0f;
                    int   Count     = 0;
                    float LeftWidth = 0f;
                    for (int i = 0; i < ActiveSheet.ColumnHeader.Columns.Count; i++)
                    {
                        temp = temp + ActiveSheet.ColumnHeader.Columns[i].Width;
                        Count++;

                        if (temp - ActiveSheet.ColumnHeader.Columns[i].Width == PaperWidth)
                        {
                            float x = 0f;
                            if (Count > 1)
                            {
                                x = ColumnWidths[i] + Rect.Left - ActiveSheet.ColumnHeader.Columns[i].Width - 1;
                            }
                            else
                            {
                                x = ColumnWidths[i] + Rect.Left;
                            }

                            if (LeftColumn != 0)
                            {
                                LeftWidth = ColumnWidths[LeftColumn - 1];
                            }

                            float tmp = x - LeftWidth;
                            if (tmp >= Rect.Left && tmp <= Rect.Right)
                            {
                                g.DrawLine(pen, tmp, Rect.Top, tmp, this.Height - Rect.Top);
                            }

                            temp  = temp - PaperWidth;
                            Count = 0;
                        }
                    }

                    Count = 0;
                    temp  = 0f;
                    float TopHeight = 0f;
                    for (int i = 0; i < ActiveSheet.RowHeader.Rows.Count; i++)
                    {
                        temp = temp + ActiveSheet.RowHeader.Rows[i].Height;
                        Count++;

                        if (temp - ActiveSheet.RowHeader.Rows[i].Height == PaperHeight)
                        {
                            float y = 0f;
                            if (Count > 1)
                            {
                                y = RowHeights[i] + Rect.Top - ActiveSheet.RowHeader.Rows[i].Height - 1;
                            }
                            else
                            {
                                y = RowHeights[i] + Rect.Top;
                            }

                            if (TopRow != 0)
                            {
                                TopHeight = RowHeights[TopRow - 1];
                            }

                            float tmp = y - TopHeight;
                            if (tmp >= Rect.Top && tmp <= Rect.Bottom)
                            {
                                g.DrawLine(pen, Rect.Left, tmp, this.Width - Rect.Left, tmp);
                            }

                            temp  = temp - PaperHeight;
                            Count = 0;
                        }
                    }

                    pen.Dispose();
                }
            }
            catch
            {
            }
        }
示例#14
0
        //获得SheetView所在的FpSpread控件
        public MyCell GetParent(SheetView sheet)
        {
            SpreadView spreadView = sheet.ContainingViews[sheet.ContainingViews.Length - 1];

            return(spreadView.Owner as MyCell);
        }
示例#15
0
        internal void nbcRcgzbb_LinkClicked(object sender, NavBarLinkEventArgs e)
        {
            /*
             *
             */
            switch (e.Link.ItemName)
            {
            case "nbiDjwt":
                frmMainView.frmMainForm.splashScreenManager2.ShowWaitForm();
                SpreadView.DjwtView();
                frmMainView.frmMainForm.splashScreenManager2.CloseWaitForm();
                break;

            case "nbiWtgbl":
                frmMainView.frmMainForm.splashScreenManager2.ShowWaitForm();
                SpreadView.WtgblView();
                frmMainView.frmMainForm.splashScreenManager2.CloseWaitForm();
                break;

            case "nbiWtmxgbl":
                break;

            case "nbiQyxn":
                frmMainView.frmMainForm.splashScreenManager2.ShowWaitForm();
                SpreadView.QyxnView();
                frmMainView.frmMainForm.splashScreenManager2.CloseWaitForm();
                break;

            case "nbiVIPgbl":
                frmMainView.frmMainForm.splashScreenManager2.ShowWaitForm();
                SpreadView.VIPGblView();
                frmMainView.frmMainForm.splashScreenManager2.CloseWaitForm();
                break;

            case "nbiQybb":
                frmMainView.frmMainForm.splashScreenManager2.ShowWaitForm();
                SpreadView.QybbView();
                frmMainView.frmMainForm.splashScreenManager2.CloseWaitForm();
                break;

            case "nbiGrxn":
                frmMainView.frmMainForm.splashScreenManager2.ShowWaitForm();
                SpreadView.GrxnView();
                frmMainView.frmMainForm.splashScreenManager2.CloseWaitForm();
                break;

            case "nbiDlsyj":
                frmMainView.frmMainForm.splashScreenManager2.ShowWaitForm();
                SpreadView.DlsyjView();
                frmMainView.frmMainForm.splashScreenManager2.CloseWaitForm();
                break;

            case "nbiVIPdlsyj":
                frmMainView.frmMainForm.splashScreenManager2.ShowWaitForm();
                SpreadView.VIPDlsyjView();
                frmMainView.frmMainForm.splashScreenManager2.CloseWaitForm();
                break;

            case "nbiWtyj":
                frmMainView.frmMainForm.splashScreenManager2.ShowWaitForm();
                SpreadView.WtyjView();
                frmMainView.frmMainForm.splashScreenManager2.CloseWaitForm();
                break;

            case "nbiWtxqzbl":
                frmMainView.frmMainForm.splashScreenManager2.ShowWaitForm();
                SpreadView.WtxqzbView();
                frmMainView.frmMainForm.splashScreenManager2.CloseWaitForm();
                break;

            case "nbiZzzsk":
                frmMainView.frmMainForm.splashScreenManager2.ShowWaitForm();
                SpreadView.ZzsktjView();
                frmMainView.frmMainForm.splashScreenManager2.CloseWaitForm();
                break;

            default:
                break;
            }
        }