using System; using System.Windows.Forms; using FastReport.Utils; namespace FastReport.AdvMatrix { public partial class MatrixCollapseButton { private void CreateMenuItems() { ContextMenuStrip menu = new ContextMenuStrip(); ToolStripItem collapseAll = menu.Items.Add(Res.Get("Designer,ToolWindow,CollapseAll")); collapseAll.Tag = this; collapseAll.Click += CollapseAll_Click; ToolStripItem expandAll = menu.Items.Add(Res.Get("Designer,ToolWindow,ExpandAll")); expandAll.Tag = this; expandAll.Click += ExpandAll_Click; menu.Show(Cursor.Position); } private void ExpandAll_Click(object sender, EventArgs e) { MatrixCollapseButton btn = (sender as ToolStripItem).Tag as MatrixCollapseButton; if (Matrix != null) { if (IsColumn) Matrix.ToggleColumnVisible(btn.Index, false, true); else Matrix.ToggleRowVisible(btn.Index, false, true); } Report.Preview.RefreshReport(); } private void CollapseAll_Click(object sender, EventArgs e) { MatrixCollapseButton btn = (sender as ToolStripItem).Tag as MatrixCollapseButton; if (Matrix != null) { if (IsColumn) Matrix.ToggleColumnVisible(btn.Index, true, false); else Matrix.ToggleRowVisible(btn.Index, true, false); } Report.Preview.RefreshReport(); } /// public override void OnMouseUp(MouseEventArgs e) { base.OnMouseUp(e); if (e.Button == MouseButtons.Right && ShowCollapseExpandMenu) { CreateMenuItems(); return; } if (Matrix != null) { if (IsColumn) Matrix.ToggleColumnVisible(Index); else Matrix.ToggleRowVisible(Index); Report.Refresh(); } } } public partial class MatrixSortButton { /// /// public override void OnClick(EventArgs e) { MatrixSortButtonClick(); } } }