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;
        }
    }
Exemple #6
0
    /// <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;
            }
        }
    }