private void settings_SaveVisibleColumns(MenuItem mi, string colName) { try { if (theContextMenu.Items.Count - nBaseItems < dataGrid.Columns.Count) { return; } // Put the visible column names into an array List <string> saVisibleColumns = VisibleColumns.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToList(); if (saVisibleColumns != null && saVisibleColumns.Count > 0 && saVisibleColumns[saVisibleColumns.Count - 1].StartsWith("-")) { saVisibleColumns.RemoveAt(saVisibleColumns.Count - 1); } // If the menu item is unchecked (column is not visible) if (!mi.IsChecked) { // Make the column visible by adding its name to the Visible Columns list saVisibleColumns.Add(colName); } else // Hide the column by removing its name from the VisibleColumns list if (saVisibleColumns.Contains(colName) && saVisibleColumns.Count > 1) { saVisibleColumns.Remove(colName); } VisibleColumns = String.Join(";", saVisibleColumns) + ";-" + dataGrid.FrozenColumnCount.ToString(); } catch (Exception ex) { StdErrOut(ex, MethodInfo.GetCurrentMethod().Name); } }
private void contextMenu_AddNewMenuItem(DataGridColumn col) { try { MenuItem menuItem = new MenuItem() { Header = col.Header.ToString().Replace("\n", " ").Replace("\r", " "), StaysOpenOnClick = true }; List <string> saVisibleColumns = new List <String>() { "" }; if (VisibleColumns != null) { saVisibleColumns = VisibleColumns.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToList(); } //menuItem.Icon = new Image() { Source = Application.Current.Resources["Checkmark"] as ImageSource }; //((Image)menuItem.Icon).Visibility = (saVisibleColumns.Contains(menuItem.Header) || VisibleColumns == null) ? Visibility.Visible : Visibility.Collapsed; menuItem.IsChecked = (saVisibleColumns.Contains(menuItem.Header)); menuItem.Click += (sender, e) => { contextMenu_ColumnName_Click(sender); }; theContextMenu.Items.Add(menuItem); } catch (Exception ex) { StdErrOut(ex, MethodInfo.GetCurrentMethod().Name); } }
private void dataGrid_Loaded() { //try //{ groupBox_AttachHeaderUI(); contextMenu_BuildMenu(false); VisibleColumns_Initialize(); // Set Frozen columns List <string> saVisibleColumns = VisibleColumns.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToList(); if (saVisibleColumns != null && saVisibleColumns.Count > 0 && saVisibleColumns[saVisibleColumns.Count - 1].StartsWith("-")) { if (dataGrid != null) { HeaderColumnIndex = Convert.ToInt16(saVisibleColumns[saVisibleColumns.Count - 1].Substring(1)); if (HeaderColumnIndex > 0) { mnuFreeze.IsChecked = true; } } } //} //catch (Exception ex) //{ StdErrOut(ex, MethodInfo.GetCurrentMethod().Name); } }
private void settings_SaveFrozenColumnCount() { try { List <string> saVisibleColumns = VisibleColumns.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries).ToList(); if (saVisibleColumns != null && saVisibleColumns.Count > 0 && saVisibleColumns[saVisibleColumns.Count - 1].StartsWith("-")) { saVisibleColumns.RemoveAt(saVisibleColumns.Count - 1); } VisibleColumns = String.Join(";", saVisibleColumns) + ";-" + dataGrid.FrozenColumnCount.ToString(); } catch (Exception ex) { StdErrOut(ex, MethodInfo.GetCurrentMethod().Name); } }
/// <summary> /// Displays or hides columns based on VisibleColumns property. /// </summary> private void DisplayColumns() { string[] visibleColumns = VisibleColumns.Split('|'); // Hide all first foreach (var item in gridElem.NamedColumns.Values) { item.Visible = false; } // Show columns that should be visible foreach (var item in visibleColumns) { string key = null; switch (item) { case COLUMN_NUMBER: key = "Number"; break; case COLUMN_PRICE: key = "Price"; break; case COLUMN_DEPARTMENT: key = "Department"; break; case COLUMN_MANUFACTURER: key = "Manufacturer"; break; case COLUMN_SUPPLIER: key = "Supplier"; break; case COLUMN_PUBLIC_STATUS: key = "PublicStatus"; break; case COLUMN_INTERNAL_STATUS: key = "InternalStatus"; break; case COLUMN_REORDER_AT: key = "ReorderAt"; break; case COLUMN_AVAILABLE_ITEMS: key = "AvailableItems"; break; case COLUMN_ITEMS_TO_BE_REORDERED: key = "ItemsToBeReordered"; break; case COLUMN_ALLOW_FOR_SALE: key = "AllowForSale"; break; } // Show column if (key != null) { gridElem.NamedColumns[key].Visible = true; } } // Show option category column if not only product listed if (ProductType != PRODUCT_TYPE_PRODUCTS) { gridElem.NamedColumns["OptionCategory"].Visible = true; } // If global products are allowed, display column if (ECommerceSettings.AllowGlobalProducts(CMSContext.CurrentSiteName)) { gridElem.NamedColumns["Global"].Visible = true; } }
/// <summary> /// Displays or hides columns based on VisibleColumns property. /// </summary> private void DisplayColumns() { string[] visibleColumns = VisibleColumns.Split('|'); // Hide all first foreach (var item in gridElem.NamedColumns.Values) { item.Visible = false; } // Show columns that should be visible foreach (var item in visibleColumns) { string key = null; switch (item) { case COLUMN_ID_AND_INVOICE: key = "IDAndInvoice"; break; case COLUMN_CUSTOMER: key = "Customer"; break; case COLUMN_DATE: key = "Date"; break; case COLUMN_PRICE: key = "MainCurrencyPrice"; gridElem.NamedColumns["OrderPrice"].Visible = ECommerceContext.MoreCurrenciesUsedOnSite; break; case COLUMN_STATUS: key = "OrderStatus"; break; case COLUMN_PAYMENT: key = "PaymentOption"; break; case COLUMN_IS_PAID: key = "IsPaid"; break; case COLUMN_SHIPPING: key = "ShippingOption"; break; case COLUMN_TRACKING_NUMBER: key = "TrackingNumber"; break; case COLUMN_NOTE: key = "Note"; break; } // Show column if (key != null) { gridElem.NamedColumns[key].Visible = true; } } }