Exemple #1
0
        public static void GenerateContextMenu(AgendaViewControl viewControl, GridViewMenu contextMenu, SchedulerControl control, Appointment apt)
        {
            Scheduler          = control;
            CurrentAppointment = apt;
            ViewControl        = viewControl;
            if (apt != null)
            {
                contextMenu.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Open appointment", OnOpenCurrentAppointment));
                contextMenu.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Delete appointment", OnDeleteCurrentAppointment, Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("AgendViewComponent.Resources.Delete.png"))));
            }

            DevExpress.Utils.Menu.DXMenuItem nextInterval = new DevExpress.Utils.Menu.DXMenuItem("Go to the next month", OnNextInterval, Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("AgendViewComponent.Resources.NextArrow.png")));
            nextInterval.BeginGroup = true;

            contextMenu.Items.Add(nextInterval);
            contextMenu.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Go to the previous month", OnPreviousInterval, Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("AgendViewComponent.Resources.PrevArrow.png"))));
            contextMenu.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Go to the specific date", OnGoToSpecificDate));

            DevExpress.Utils.Menu.DXSubMenuItem switchView = new DevExpress.Utils.Menu.DXSubMenuItem("Change view to");
            switchView.BeginGroup = true;
            contextMenu.Items.Add(switchView);

            if (Scheduler.DayView.Enabled)
            {
                switchView.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Day View", OnSwitchToDayView, Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("AgendViewComponent.Resources.DayView.png"))));
            }
            if (Scheduler.WorkWeekView.Enabled)
            {
                switchView.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Work Week View", OnSwitchToWorkWeekView, Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("AgendViewComponent.Resources.WorkWeekView.png"))));
            }
            if (Scheduler.WeekView.Enabled)
            {
                switchView.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Week View", OnSwitchToWeekView, Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("AgendViewComponent.Resources.WeekView.png"))));
            }
            if (Scheduler.MonthView.Enabled)
            {
                switchView.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Month View", OnSwitchToMonthView, Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("AgendViewComponent.Resources.MonthView.png"))));
            }
            if (Scheduler.TimelineView.Enabled)
            {
                switchView.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Timeline View", OnSwitchToTimelineView, Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("AgendViewComponent.Resources.TimelineView.png"))));
            }
            if (Scheduler.GanttView.Enabled)
            {
                switchView.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Gantt View", OnSwitchToGanttView, Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("AgendViewComponent.Resources.GanttView.png"))));
            }

            if (apt != null)
            {
                contextMenu.Items.Add(new DevExpress.Utils.Menu.DXMenuItem(ViewControl.ShowResources ? "Show all appointments" : "Group appointments by resources", OnSwitchResourcesVisibility));
            }
        }
        public static void GenerateContextMenu(ListViewControl viewControl, GridViewMenu contextMenu, SchedulerControl control, Appointment apt)
        {
            Scheduler          = control;
            CurrentAppointment = apt;
            ViewControl        = viewControl;
            if (apt != null)
            {
                contextMenu.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Open appointment", OnOpenCurrentAppointment));
                contextMenu.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Delete appointment", OnDeleteCurrentAppointment, Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("ListViewComponent.Resources.Delete.png"))));
            }


            DevExpress.Utils.Menu.DXSubMenuItem switchView = new DevExpress.Utils.Menu.DXSubMenuItem("Change view to");
            switchView.BeginGroup = true;
            contextMenu.Items.Add(switchView);

            if (Scheduler.DayView.Enabled)
            {
                switchView.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Day View", OnSwitchToDayView, Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("ListViewComponent.Resources.DayView.png"))));
            }
            if (Scheduler.WorkWeekView.Enabled)
            {
                switchView.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Work Week View", OnSwitchToWorkWeekView, Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("ListViewComponent.Resources.WorkWeekView.png"))));
            }
            if (Scheduler.WeekView.Enabled)
            {
                switchView.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Week View", OnSwitchToWeekView, Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("ListViewComponent.Resources.WeekView.png"))));
            }
            if (Scheduler.MonthView.Enabled)
            {
                switchView.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Month View", OnSwitchToMonthView, Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("ListViewComponent.Resources.MonthView.png"))));
            }
            if (Scheduler.TimelineView.Enabled)
            {
                switchView.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Timeline View", OnSwitchToTimelineView, Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("ListViewComponent.Resources.TimelineView.png"))));
            }
            if (Scheduler.GanttView.Enabled)
            {
                switchView.Items.Add(new DevExpress.Utils.Menu.DXMenuItem("Gantt View", OnSwitchToGanttView, Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream("ListViewComponent.Resources.GanttView.png"))));
            }
        }
Exemple #3
0
        public MyGridView()
        {
            if (!DesignMode)
            {
                this.OptionsView.ColumnAutoWidth            = false;
                this.OptionsView.ShowAutoFilterRow          = true;
                this.OptionsView.ShowFooter                 = true;
                this.OptionsView.EnableAppearanceEvenRow    = true;
                this.OptionsMenu.ShowGroupSummaryEditorItem = true;
            }

            //Labels
            //Should calling after datasource settings ApplyLabelToColumns();
            this.DataSourceChanged += (s, e) =>
            {
                if (!this.DesignMode)
                {
                    XPCollection ds = null;
                    if (this.DataSource is XPCollection)                                //Level 1
                    {
                        ds = (XPCollection)this.DataSource;
                        if (ds != null)
                        {
                            this.BeginInit();
                            ApplyLabel((XPCollection)ds);
                            ds.CollectionChanged += (sndr, arg) =>
                            {
                                if (arg.CollectionChangedType == DevExpress.Xpo.XPCollectionChangedType.AfterRemove)
                                {
                                    if (ds.Session is UnitOfWork)//Should be UnitOfWork to use extension method SaveLine
                                    {
                                        UnitOfWork unit = (UnitOfWork)ds.Session;
                                        unit.Delete(arg.ChangedObject);
                                        //unit.SaveLine();
                                    }
                                }
                            };
                            this.EndInit();
                        }
                    }
                    else if (this.DataSource is BindingSource && this.ClassInfo != null && this.UnitOfWorkXpo != null)
                    {
                        this.BeginInit();
                        var xpClassInfo = UnitOfWorkXpo.GetClassInfo(this.ClassInfo);
                        ApplyLabel(xpClassInfo);
                        this.EndInit();
                    }

                    //ApplyLabelToColumns();
                }
            };
            this.InitNewRow += (s, e) =>
            {
                try
                {
                    switch (this.OptionsBehavior.EditingMode)
                    {
                    case GridEditingMode.EditForm:
                    case GridEditingMode.EditFormInplace:
                    case GridEditingMode.EditFormInplaceHideCurrentRow:
                        this.ShowEditForm();
                        break;

                    default:
                        break;
                    }
                }
                catch (Exception)
                {
                }
            };
            this.FocusedRowChanged += (s, e) =>
            {
                var row = this.GetRow(e.FocusedRowHandle);
                if (row != null && row is XPLiteObject)
                {
                    FormRecord.CurrentRecord = (XPLiteObject)row;
                    //Assign current row to Args
                    if (this.GridControl.FindForm() != null && this.GridControl.FindForm().GetType() == typeof(MyForm))
                    {
                        ((MyForm)this.GridControl.FindForm()).Args.Record = (XPLiteObject)row;
                    }
                }
            };
            if (this.EnableAutoSave)
            {
                this.ValidateRow += (s, e) =>
                {
                    try
                    {
                        e.Valid = UnitOfWorkXpo.SaveLine();
                    }
                    catch (Exception ex)
                    {
                        XtraMessageBox.Show(ex.GetFullExceptionErrMessage());
                    }
                };
            }
            this.PopupMenuShowing += (sender, argE) =>
            {
                var gv = (MyGridView)sender;
                gv.OptionsMenu.ShowConditionalFormattingItem = true;
                //Row menu configuration
                #region RowMenu
                if (argE.HitInfo.InRow)
                {
                    DevExpress.Utils.Menu.DXMenuItem printGridMenuItem         = new DevExpress.Utils.Menu.DXMenuItem("Print");
                    DevExpress.Utils.Menu.DXMenuItem previewGridMenuItem       = new DevExpress.Utils.Menu.DXMenuItem("Preview");
                    DevExpress.Utils.Menu.DXMenuItem exportMenuItem            = new DevExpress.Utils.Menu.DXMenuItem("Export");
                    DevExpress.Utils.Menu.DXMenuItem refreshMenuItem           = new DevExpress.Utils.Menu.DXMenuItem("Refresh");
                    DevExpress.Utils.Menu.DXMenuItem conditionalFormatMenuItem = new DevExpress.Utils.Menu.DXMenuItem("Conditional Format");
                    DevExpress.Utils.Menu.DXMenuItem saveLayoutMenuItem        = new DevExpress.Utils.Menu.DXMenuItem("Save layout");
                    DevExpress.Utils.Menu.DXMenuItem restoreLayoutMenuItem     = new DevExpress.Utils.Menu.DXMenuItem("Restore layout");
                    DevExpress.Utils.Menu.DXMenuItem clearLayoutMenuItem       = new DevExpress.Utils.Menu.DXMenuItem("Clear layout settings");
                    DevExpress.Utils.Menu.DXMenuItem bulkUpdateMenuItem        = new DevExpress.Utils.Menu.DXMenuItem("Multi rows update");
                    DevExpress.Utils.Menu.DXMenuItem pivotGridMenuItem         = new DevExpress.Utils.Menu.DXMenuItem("Pivot grid");
                    DevExpress.Utils.Menu.DXMenuItem sendSMSMenuItem           = new DevExpress.Utils.Menu.DXMenuItem("Send SMS");
                    DevExpress.Utils.Menu.DXMenuItem viewDetailsMenuItem       = new DevExpress.Utils.Menu.DXMenuItem("View details");
                    //get icons
                    Image printGridIcon         = DevExpress.Images.ImageResourceCache.Default.GetImage("images/print/print_16x16.png");
                    Image previewGridIcon       = DevExpress.Images.ImageResourceCache.Default.GetImage("images/print/preview_16x16.png");
                    Image exportIcon            = DevExpress.Images.ImageResourceCache.Default.GetImage("images/export/exporttoxlsx_16x16.png");
                    Image refreshIcon           = DevExpress.Images.ImageResourceCache.Default.GetImage("images/actions/refresh2_16x16.png");
                    Image conditionalFormatIcon = DevExpress.Images.ImageResourceCache.Default.GetImage("images/miscellaneous/palette_16x16.png");
                    Image saveLayoutIcon        = DevExpress.Images.ImageResourceCache.Default.GetImage("images/reports/addgroupheader_16x16.png");
                    Image restoreLayoutIcon     = DevExpress.Images.ImageResourceCache.Default.GetImage("images/reports/deletegroupheader_16x16.png");
                    Image clearLayoutIcon       = DevExpress.Images.ImageResourceCache.Default.GetImage("images/save/saveandclose_16x16.png");
                    Image bulkUpdateLayoutIcon  = DevExpress.Images.ImageResourceCache.Default.GetImage("images/programming/scripts_16x16.png");
                    Image pivotGridIcon         = DevExpress.Images.ImageResourceCache.Default.GetImage("images/grid/pivot_16x16.png");
                    Image sendSMSIcon           = DevExpress.Images.ImageResourceCache.Default.GetImage("images/mail/editfeed_16x16.png");
                    Image viewDetailsIcon       = DevExpress.Images.ImageResourceCache.Default.GetImage("devav/actions/showproduct_16x16.png");
                    //Assign icon to its menus
                    printGridMenuItem.Image         = printGridIcon;
                    previewGridMenuItem.Image       = previewGridIcon;
                    exportMenuItem.Image            = exportIcon;
                    refreshMenuItem.Image           = refreshIcon;
                    conditionalFormatMenuItem.Image = conditionalFormatIcon;
                    saveLayoutMenuItem.Image        = saveLayoutIcon;
                    restoreLayoutMenuItem.Image     = restoreLayoutIcon;
                    clearLayoutMenuItem.Image       = clearLayoutIcon;
                    bulkUpdateMenuItem.Image        = bulkUpdateLayoutIcon;
                    pivotGridMenuItem.Image         = pivotGridIcon;
                    sendSMSMenuItem.Image           = sendSMSIcon;
                    viewDetailsMenuItem.Image       = viewDetailsIcon;
                    //Link this grid view to menu object via Tag property
                    printGridMenuItem.Tag         = gv;
                    previewGridMenuItem.Tag       = gv;
                    exportMenuItem.Tag            = gv;
                    refreshMenuItem.Tag           = gv;
                    conditionalFormatMenuItem.Tag = gv;
                    saveLayoutMenuItem.Tag        = gv;
                    restoreLayoutMenuItem.Tag     = gv;
                    clearLayoutMenuItem.Tag       = gv;
                    bulkUpdateMenuItem.Tag        = gv;
                    pivotGridMenuItem.Tag         = gv;
                    sendSMSMenuItem.Tag           = gv;
                    viewDetailsMenuItem.Tag       = gv;
                    //Event handler for each menu item
                    //=======================================================================================

                    printGridMenuItem.Click += (s, e) =>
                    {
                        this.OptionsPrint.ExpandAllDetails = false;//To reserve user settings during printing
                        this.OptionsPrint.ExpandAllGroups  = false;
                        this.Print();
                    };
                    previewGridMenuItem.Click += (s, e) =>
                    {
                        AppService.PreviewXtraGrid previewXtraGrid;

                        try
                        {
                            this.OptionsPrint.ExpandAllDetails = false;//To reserve user settings during printing
                            this.OptionsPrint.ExpandAllGroups  = false;
                            previewXtraGrid = new AppService.PreviewXtraGrid(gv.GridControl);
                            previewXtraGrid.PrintableGridLink.Landscape = true;
                            previewXtraGrid.ShowPreviewDialog();
                        }
                        catch (Exception ex)
                        {
                            XtraMessageBox.Show(ex.GetFullExceptionErrMessage());
                        }
                    };
                    exportMenuItem.Click += (s, e) =>
                    {
                        string fileName = "";
                        fileName = GlobalMethods.AskUser_SaveFilePath("Xlsx");
                        if (string.IsNullOrEmpty(fileName))
                        {
                            return;
                        }
                        gv.ExportToXls(fileName);
                    };
                    refreshMenuItem.Click += (s, e) =>
                    {
                        gv.UnitOfWorkXpo.ReloadChangedObjects();
                    };
                    pivotGridMenuItem.Click += (s, e) =>
                    {
                        try
                        {
                            AppService.XtraGridPopupMenu_PivotXtraForm frm = new AppService.XtraGridPopupMenu_PivotXtraForm(this);
                            //Inhriet pivot form from caller form
                            //frm.IsSaveLayout = parentForm.IsSaveLayout;Disable this option
                            //frm.IsPreviewable = parentForm.IsPreviewable;
                            //frm.IsPrintable = parentForm.IsPrintable;
                            //frm.IsExportable = parentForm.IsExportable;
                            var parentForm = this.GridControl.TopLevelControl as XtraForm;

                            if (parentForm.IsMdiChild)
                            {
                                frm.MdiParent   = parentForm;
                                frm.WindowState = FormWindowState.Maximized;
                                frm.Show();
                                //Stacked windows
                                StackingChildForms(MdiLayout.TileHorizontal, parentForm, frm);
                            }
                            else
                            {
                                frm.WindowState = FormWindowState.Maximized;
                                frm.ShowDialog();
                            }
                        }
                        catch (Exception ex)
                        {
                            XtraMessageBox.Show(ex.GetFullExceptionErrMessage());
                        }
                    };
                    viewDetailsMenuItem.Click += (s, e) =>
                    {
                        if (argE.HitInfo.InRow && argE.HitInfo.RowHandle >= 0)
                        {
                            var colInfo = (GridColumnInfo)argE.HitInfo.Column.Tag;
                            if (colInfo == null)
                            {
                                return;
                            }
                            if (colInfo.IsViewDetails)
                            {
                                colInfo.FormArgs = new Args();
                                //Save current row value
                                string cellVal = this.GetRowCellValue(argE.HitInfo.RowHandle, argE.HitInfo.Column).ToString();
                                var    col     = argE.HitInfo.Column;
                                if (col.ColumnType == typeof(string) ||
                                    col.ColumnType == typeof(DateTime))
                                {
                                    cellVal = $"'{cellVal}'";
                                }
                                colInfo.FormArgs.Caller      = this.GridControl.FindForm();
                                colInfo.FormArgs.LookupField = colInfo.ColumnLablel.LookupEditor.LookupValueField;
                                colInfo.FormArgs.LookupValue = cellVal;
                                colInfo.FormArgs.Record      = (XPBaseObject)GetRow(argE.HitInfo.RowHandle);
                                OnViewDetails(new ViewDetailsEventArgs(colInfo, this));
                            }
                        }
                    };
                    //=======================================================================================
                    //Add menu to grid
                    //=======================================================================================
                    argE.Menu.Items.Add(printGridMenuItem);
                    argE.Menu.Items.Add(previewGridMenuItem);
                    argE.Menu.Items.Add(exportMenuItem);
                    argE.Menu.Items.Add(pivotGridMenuItem);
                    argE.Menu.Items.Add(refreshMenuItem);
                    argE.Menu.Items.Add(viewDetailsMenuItem);
                }
                #endregion

                #region ColumnMenu
                if (argE.HitInfo.InColumn)
                {
                    //Checked filter with sub menu
                    DevExpress.Utils.Menu.DXSubMenuItem checkedFilterSubMenuItem  = new DevExpress.Utils.Menu.DXSubMenuItem("Filter popup mode");
                    DevExpress.Utils.Menu.DXMenuItem    checkedListOptionMenuItem = new DevExpress.Utils.Menu.DXMenuItem("Checked list");
                    DevExpress.Utils.Menu.DXMenuItem    listOptionMenuItem        = new DevExpress.Utils.Menu.DXMenuItem("List");
                    DevExpress.Utils.Menu.DXMenuItem    defaultOptionMenuItem     = new DevExpress.Utils.Menu.DXMenuItem("Default");

                    checkedFilterSubMenuItem.Items.Add(defaultOptionMenuItem);
                    checkedFilterSubMenuItem.Items.Add(checkedListOptionMenuItem);
                    checkedFilterSubMenuItem.Items.Add(listOptionMenuItem);

                    System.Drawing.Image filterIcon       = DevExpress.Images.ImageResourceCache.Default.GetImage("images/programming/forcetesting_16x16.png");
                    System.Drawing.Image freezeIcon       = DevExpress.Images.ImageResourceCache.Default.GetImage("images/alignment/alignverticalleft_16x16.png");
                    System.Drawing.Image expColumnIcon    = DevExpress.Images.ImageResourceCache.Default.GetImage("images/programming/scripts_16x16.png");
                    System.Drawing.Image removeColumnIcon = DevExpress.Images.ImageResourceCache.Default.GetImage("images/reports/deleteheader_16x16.png");
                    System.Drawing.Image columnsSetupIcon = DevExpress.Images.ImageResourceCache.Default.GetImage("images/grid/customizegrid_16x16.png");

                    checkedFilterSubMenuItem.Image              = filterIcon;
                    checkedFilterSubMenuItem.ImageDisabled      = filterIcon;
                    checkedFilterSubMenuItem.LargeImage         = filterIcon;
                    checkedFilterSubMenuItem.LargeImageDisabled = filterIcon;

                    defaultOptionMenuItem.Click += (s, e) =>
                    {
                        argE.HitInfo.Column.OptionsFilter.FilterPopupMode = DevExpress.XtraGrid.Columns.FilterPopupMode.Default;
                    };
                    checkedListOptionMenuItem.Click += (s, e) =>
                    {
                        argE.HitInfo.Column.OptionsFilter.FilterPopupMode = DevExpress.XtraGrid.Columns.FilterPopupMode.CheckedList;
                    };
                    listOptionMenuItem.Click += (s, e) =>
                    {
                        argE.HitInfo.Column.OptionsFilter.FilterPopupMode = DevExpress.XtraGrid.Columns.FilterPopupMode.List;
                    };

                    defaultOptionMenuItem.Tag     = argE.HitInfo;
                    checkedListOptionMenuItem.Tag = argE.HitInfo;
                    listOptionMenuItem.Tag        = argE.HitInfo;
                    argE.Menu.Items.Add(checkedFilterSubMenuItem);

                    //Freeze column
                    DevExpress.Utils.Menu.DXSubMenuItem freezeColumnSubMenuItem = new DevExpress.Utils.Menu.DXSubMenuItem("Freeze column");
                    freezeColumnSubMenuItem.Image              = freezeIcon;
                    freezeColumnSubMenuItem.ImageDisabled      = freezeIcon;
                    freezeColumnSubMenuItem.LargeImage         = freezeIcon;
                    freezeColumnSubMenuItem.LargeImageDisabled = freezeIcon;

                    DevExpress.Utils.Menu.DXMenuItem freezeColumnToLeft  = new DevExpress.Utils.Menu.DXMenuItem("Left");
                    DevExpress.Utils.Menu.DXMenuItem freezeColumnToRight = new DevExpress.Utils.Menu.DXMenuItem("Right");
                    DevExpress.Utils.Menu.DXMenuItem freezeColumnClear   = new DevExpress.Utils.Menu.DXMenuItem("None");

                    freezeColumnSubMenuItem.Items.Add(freezeColumnToLeft);
                    freezeColumnSubMenuItem.Items.Add(freezeColumnToRight);
                    freezeColumnSubMenuItem.Items.Add(freezeColumnClear);

                    freezeColumnToLeft.Click  += (s, e) => { argE.HitInfo.Column.Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Left; };
                    freezeColumnToRight.Click += (s, e) => { argE.HitInfo.Column.Fixed = DevExpress.XtraGrid.Columns.FixedStyle.Right; };
                    freezeColumnClear.Click   += (s, e) => { argE.HitInfo.Column.Fixed = DevExpress.XtraGrid.Columns.FixedStyle.None; };

                    freezeColumnToLeft.Tag  = argE.HitInfo;
                    freezeColumnToRight.Tag = argE.HitInfo;
                    freezeColumnClear.Tag   = argE.HitInfo;

                    argE.Menu.Items.Add(freezeColumnSubMenuItem);
                    if (argE.HitInfo.Column.UnboundType == DevExpress.Data.UnboundColumnType.Bound)
                    {
                        DevExpress.Utils.Menu.DXMenuItem addExpColumnMenu = new DevExpress.Utils.Menu.DXMenuItem("New expression column");
                        addExpColumnMenu.Image  = expColumnIcon;
                        addExpColumnMenu.Tag    = gv;
                        addExpColumnMenu.Click += (s, e) =>
                        {
                            CoreLib.Grid.AppService.ExpressionColumnOptionsXtraForm frm = new AppService.ExpressionColumnOptionsXtraForm(this);
                            frm.ShowDialog();
                        };
                        argE.Menu.Items.Add(addExpColumnMenu);
                    }
                    else
                    {
                        DevExpress.Utils.Menu.DXMenuItem removeExpColumnMenu = new DevExpress.Utils.Menu.DXMenuItem("Remove expression column");
                        removeExpColumnMenu.Image  = removeColumnIcon;
                        removeExpColumnMenu.Tag    = argE.HitInfo;
                        removeExpColumnMenu.Click += (s, e) =>
                        {
                            argE.HitInfo.Column.View.Columns.Remove(argE.HitInfo.Column);
                        };
                        argE.Menu.Items.Add(removeExpColumnMenu);
                    }

                    //Column setup
                    DevExpress.Utils.Menu.DXMenuItem setupColumnsMenu = new DevExpress.Utils.Menu.DXMenuItem("Advanced settings");
                    setupColumnsMenu.Image  = columnsSetupIcon;
                    setupColumnsMenu.Tag    = gv;
                    setupColumnsMenu.Click += (s, e) => //setupColumnsMenu_Click
                    {
                        AppService.XtraGridPopupMenu_ColumnsReorderXtraForm frm = new XtraGridPopupMenu_ColumnsReorderXtraForm(gv);
                        frm.Show();
                    };
                    argE.Menu.Items.Add(setupColumnsMenu);
                }
                #endregion
            };
        }
Exemple #4
0
        private void InsertMenu(DevExpress.XtraTreeList.Menu.TreeListColumnMenu Menu)
        {
            // Insert Menu
            DevExpress.XtraTreeList.Menu.TreeListColumnMenu menu = (DevExpress.XtraTreeList.Menu.TreeListColumnMenu)Menu;
            if (menu.Column == null) return;

            #region 1. Auto Filter - Dev Chưa hỗ trợ
            #endregion

            #region 2. Lọc nâng cao - Dev Chưa hỗ trợ
            #endregion

            #region 3. Tính toán trong nhóm
            DevExpress.Utils.Menu.DXMenuItem itemDisplayFooter;
            itemDisplayFooter = new DevExpress.Utils.Menu.DXMenuItem("Hiện thanh tính toán");
            itemDisplayFooter.BeginGroup = true;
            if (this.OptionsView.ShowSummaryFooter == true)
                itemDisplayFooter.Caption = "Ẩn thanh tính toán";
            itemDisplayFooter.Click += delegate(object sender, EventArgs e){
                this.OptionsView.ShowSummaryFooter = !this.OptionsView.ShowSummaryFooter;
            };
            Menu.Items.Add(itemDisplayFooter);
            #endregion

            #region 4. Canh lề
            DevExpress.Utils.Menu.DXSubMenuItem itemDisplayData = new DevExpress.Utils.Menu.DXSubMenuItem("Canh lề");
            itemDisplayData.BeginGroup = true;
            Menu.Items.Add(itemDisplayData);
            DevExpress.Utils.Menu.DXMenuCheckItem itemLeft = new DevExpress.Utils.Menu.DXMenuCheckItem("Lề trái");
            DevExpress.Utils.Menu.DXMenuCheckItem itemRight = new DevExpress.Utils.Menu.DXMenuCheckItem("Lề phải");
            DevExpress.Utils.Menu.DXMenuCheckItem itemCenter = new DevExpress.Utils.Menu.DXMenuCheckItem("Lề giữa");
            itemDisplayData.Items.Add(itemLeft);
            itemDisplayData.Items.Add(itemRight);
            itemDisplayData.Items.Add(itemCenter);
            itemLeft.Tag = menu.Column.AbsoluteIndex;
            itemRight.Tag = menu.Column.AbsoluteIndex;
            itemCenter.Tag = menu.Column.AbsoluteIndex;
            itemLeft.Click += new EventHandler(itemLeft_Click);
            itemRight.Click += new EventHandler(itemRight_Click);
            itemCenter.Click += new EventHandler(itemCenter_Click);
            itemLeft.Checked = (this.Columns[menu.Column.AbsoluteIndex].AppearanceCell.TextOptions.HAlignment == DevExpress.Utils.HorzAlignment.Near);
            itemRight.Checked = (this.Columns[menu.Column.AbsoluteIndex].AppearanceCell.TextOptions.HAlignment == DevExpress.Utils.HorzAlignment.Far);
            itemCenter.Checked = (this.Columns[menu.Column.AbsoluteIndex].AppearanceCell.TextOptions.HAlignment == DevExpress.Utils.HorzAlignment.Center);
            #endregion

            #region 5. Cố định cột - Chưa hỗ trợ
            #endregion

            #region 6. Xuất ra file
              bool isExport = true;

            if (_ExportElement != null)
            {
                if (_ExportElement is DevExpress.XtraBars.BarItem)
                {
                    if (((DevExpress.XtraBars.BarItem)_ExportElement).Visibility == DevExpress.XtraBars.BarItemVisibility.Never)
                        isExport = false;
                }
                else if (_ExportElement is DevExpress.XtraEditors.SimpleButton)
                {
                    if (((DevExpress.XtraEditors.SimpleButton)_ExportElement).Visible == false)
                        isExport = false;
                }
                else if (_ExportElement is System.Windows.Forms.ToolStripDropDownButton)
                {
                    if (((System.Windows.Forms.ToolStripDropDownButton)_ExportElement).Visible == false)
                        isExport = false;
                }
            }
            if (isExport)
            {   //SubMenu Export Data
                DevExpress.Utils.Menu.DXSubMenuItem itemExport = new DevExpress.Utils.Menu.DXSubMenuItem("Xuất ra file");
                itemExport.BeginGroup = true;
                Menu.Items.Add(itemExport);

                //Menu Export Excel
                DevExpress.Utils.Menu.DXMenuItem itemExportExcel = new DevExpress.Utils.Menu.DXMenuItem("Excel 97 - 2003");
                itemExport.Items.Add(itemExportExcel);
                itemExportExcel.Tag = "xls";
                itemExportExcel.Click += new EventHandler(itemExport_Click);

                DevExpress.Utils.Menu.DXMenuItem itemExportExcel2007 = new DevExpress.Utils.Menu.DXMenuItem("Excel 2007");
                itemExport.Items.Add(itemExportExcel2007);
                itemExportExcel2007.Tag = "xlsx";
                itemExportExcel2007.Click += new EventHandler(itemExport_Click);

                DevExpress.Utils.Menu.DXMenuItem itemPDF = new DevExpress.Utils.Menu.DXMenuItem("PDF");
                itemExport.Items.Add(itemPDF);
                itemPDF.Tag = "pdf";
                itemPDF.Click += new EventHandler(itemExport_Click);

                //Menu Export HTML
                DevExpress.Utils.Menu.DXMenuItem itemExportHTML = new DevExpress.Utils.Menu.DXMenuItem("HTML");
                itemExport.Items.Add(itemExportHTML);
                itemExportHTML.Tag = "html";
                itemExportHTML.Click += new EventHandler(itemExport_Click);

                //Menu Export Text
                DevExpress.Utils.Menu.DXMenuItem itemExportText = new DevExpress.Utils.Menu.DXMenuItem("RTF");
                itemExport.Items.Add(itemExportText);
                itemExportText.Tag = "rtf";
                itemExportText.Click += new EventHandler(itemExport_Click);
            }
            #endregion

            #region 7. In dữ liệu
              bool isPrint = true;
            if (_PrintElement != null)
            {
                if (_PrintElement is DevExpress.XtraBars.BarItem)
                {
                    if (((DevExpress.XtraBars.BarItem)_PrintElement).Visibility == DevExpress.XtraBars.BarItemVisibility.Never)
                        isPrint = false;
                }
                else if (_PrintElement is DevExpress.XtraEditors.SimpleButton)
                {
                    if (((DevExpress.XtraEditors.SimpleButton)_PrintElement).Visible == false)
                        isPrint = false;
                }
                else if (_PrintElement is System.Windows.Forms.ToolStripDropDownButton)
                {
                    if (((System.Windows.Forms.ToolStripDropDownButton)_PrintElement).Visible == false)
                        isPrint = false;
                }
            }
            if (isPrint)
            {
                DevExpress.Utils.Menu.DXMenuItem itemPrintData = new DevExpress.Utils.Menu.DXMenuItem("Xem trước khi in");
                itemPrintData.BeginGroup = true;
                Menu.Items.Add(itemPrintData);
                itemPrintData.Click += new EventHandler(itemPrintData_Click);
            }
            #endregion

            #region 8. Hình dạng cây - Chưa hỗ trợ
            #endregion

            #region 9. Hỗ trợ debug - Chưa hỗ trợ
            #endregion
        }