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(); } } } } }
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(); } } } }
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(); } }
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(); } }
/// <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); } } }
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(); } }
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)); }
public void OnActionRemoveRow() { if (!m_bBind) { return; } SpreadView spView = null; if ((m_owner as FpSpread) != null) { spView = m_owner.GetRootWorkbook(); } actionRemoveRow_Action(spView); }
/// <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); } } }
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(); }
/// <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); } } }
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(); } }
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 { } }
//获得SheetView所在的FpSpread控件 public MyCell GetParent(SheetView sheet) { SpreadView spreadView = sheet.ContainingViews[sheet.ContainingViews.Length - 1]; return(spreadView.Owner as MyCell); }
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; } }