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")))); } }
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 }; }
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 }