MatrixButtons.PreviewExt.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. using System;
  2. using System.Windows.Forms;
  3. using FastReport.Utils;
  4. namespace FastReport.AdvMatrix
  5. {
  6. public partial class MatrixCollapseButton
  7. {
  8. private void ExpandAll_Click(object sender, EventArgs e)
  9. {
  10. MatrixCollapseButton btn = (sender as ToolStripItem).Tag as MatrixCollapseButton;
  11. if (Matrix != null)
  12. {
  13. if (IsColumn)
  14. Matrix.ToggleColumnVisible(btn.Index, false, true);
  15. else
  16. Matrix.ToggleRowVisible(btn.Index, false, true);
  17. }
  18. Report.Preview.RefreshReport();
  19. }
  20. private void CollapseAll_Click(object sender, EventArgs e)
  21. {
  22. MatrixCollapseButton btn = (sender as ToolStripItem).Tag as MatrixCollapseButton;
  23. if (Matrix != null)
  24. {
  25. if (IsColumn)
  26. Matrix.ToggleColumnVisible(btn.Index, true, false);
  27. else
  28. Matrix.ToggleRowVisible(btn.Index, true, false);
  29. }
  30. Report.Preview.RefreshReport();
  31. }
  32. /// <inheritdoc/>
  33. public override void OnMouseUp(MouseEventArgs e)
  34. {
  35. base.OnMouseUp(e);
  36. if (e.Button == MouseButtons.Left && Matrix != null)
  37. {
  38. if (IsColumn)
  39. Matrix.ToggleColumnVisible(Index);
  40. else
  41. Matrix.ToggleRowVisible(Index);
  42. Report.Refresh();
  43. }
  44. }
  45. /// <inheritdoc/>
  46. public override ContextMenuStrip GetPreviewContextMenu()
  47. {
  48. if (!ShowCollapseExpandMenu)
  49. return null;
  50. var menu = new ContextMenuStrip();
  51. var collapseAll = new ToolStripMenuItem(Res.Get("Designer,ToolWindow,CollapseAll"));
  52. collapseAll.Tag = this;
  53. collapseAll.Click += CollapseAll_Click;
  54. menu.Items.Add(collapseAll);
  55. var expandAll = new ToolStripMenuItem(Res.Get("Designer,ToolWindow,ExpandAll"));
  56. expandAll.Tag = this;
  57. expandAll.Click += ExpandAll_Click;
  58. menu.Items.Add(expandAll);
  59. return menu;
  60. }
  61. }
  62. public partial class MatrixSortButton
  63. {
  64. /// <inheritdoc/>
  65. public override void OnClick(EventArgs e)
  66. {
  67. MatrixSortButtonClick();
  68. }
  69. }
  70. }