12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- using System;
- using FastReport.Utils;
- namespace FastReport.Matrix
- {
- internal class MatrixHeaderMenu : MatrixCellMenuBase
- {
- private ContextMenuItem miSort;
- private ContextMenuItem miSortAsc;
- private ContextMenuItem miSortDesc;
- private ContextMenuItem miSortNone;
- private ContextMenuItem miTotals;
- private ContextMenuItem miPageBreak;
- private ContextMenuItem miSuppressTotals;
- private ContextMenuItem miTotalsFirst;
- private void Sort_Click(object sender, EventArgs e)
- {
- (Descriptor as MatrixHeaderDescriptor).Sort = (SortOrder)(sender as ContextMenuItem).Tag;
- Change();
- }
- private void miTotals_Click(object sender, EventArgs e)
- {
- (Descriptor as MatrixHeaderDescriptor).Totals = miTotals.Checked;
- Change();
- }
- private void miPageBreak_Click(object sender, EventArgs e)
- {
- (Descriptor as MatrixHeaderDescriptor).PageBreak = miPageBreak.Checked;
- Change();
- }
- private void miSuppressTotals_Click(object sender, EventArgs e)
- {
- (Descriptor as MatrixHeaderDescriptor).SuppressTotals = miSuppressTotals.Checked;
- Change();
- }
- private void miTotalsFirst_Click(object sender, EventArgs e)
- {
- (Descriptor as MatrixHeaderDescriptor).TotalsFirst = miTotalsFirst.Checked;
- Change();
- }
- public MatrixHeaderMenu(MatrixObject matrix, MatrixElement element, MatrixDescriptor descriptor)
- : base(matrix, element, descriptor)
- {
- MyRes res = new MyRes("ComponentMenu,MatrixCell");
- miSort = CreateMenuItem(Res.Get("Forms,DataBandEditor,Sort"), null);
- miSortAsc = CreateMenuItem(Res.Get("Forms,GroupBandEditor,Ascending"), Sort_Click);
- miSortAsc.CheckOnClick = true;
- miSortAsc.Tag = SortOrder.Ascending;
- miSortDesc = CreateMenuItem(Res.Get("Forms,GroupBandEditor,Descending"), Sort_Click);
- miSortDesc.CheckOnClick = true;
- miSortDesc.Tag = SortOrder.Descending;
- miSortNone = CreateMenuItem(Res.Get("Forms,GroupBandEditor,NoSort"), Sort_Click);
- miSortNone.CheckOnClick = true;
- miSortNone.Tag = SortOrder.None;
- miTotals = CreateMenuItem(res.Get("Totals"), miTotals_Click);
- miTotals.CheckOnClick = true;
- miPageBreak = CreateMenuItem(Res.Get("ComponentMenu,Band,StartNewPage"), miPageBreak_Click);
- miPageBreak.CheckOnClick = true;
- miSuppressTotals = CreateMenuItem(res.Get("SuppressTotals"), miSuppressTotals_Click);
- miSuppressTotals.CheckOnClick = true;
- miTotalsFirst = CreateMenuItem(res.Get("TotalsFirst"), miTotalsFirst_Click);
- miTotalsFirst.CheckOnClick = true;
- miSort.DropDownItems.AddRange(new ContextMenuItem[] { miSortAsc, miSortDesc, miSortNone });
- int insertIndex = Items.IndexOf(miDelete);
- Items.Insert(insertIndex, miSort);
- Items.Insert(insertIndex + 1, miTotals);
- Items.Insert(insertIndex + 2, miPageBreak);
- Items.Insert(insertIndex + 3, miSuppressTotals);
- Items.Insert(insertIndex + 4, miTotalsFirst);
- SortOrder sort = (Descriptor as MatrixHeaderDescriptor).Sort;
- miSortAsc.Checked = sort == SortOrder.Ascending;
- miSortDesc.Checked = sort == SortOrder.Descending;
- miSortNone.Checked = sort == SortOrder.None;
- miTotals.Checked = (Descriptor as MatrixHeaderDescriptor).Totals;
- miTotals.Enabled = !matrix.IsAncestor;
- miPageBreak.Checked = (Descriptor as MatrixHeaderDescriptor).PageBreak;
- miSuppressTotals.Checked = (Descriptor as MatrixHeaderDescriptor).SuppressTotals;
- miTotalsFirst.Checked = (Descriptor as MatrixHeaderDescriptor).TotalsFirst;
- }
- }
- }
|