Example #1
0
        /// <summary>
        /// Event handler when the DropDown is opened in ComboBox.
        /// </summary>
        void OnComboBoxDropDownOpened(object sender, EventArgs e)
        {
            List <String>   mappingNameCol = new List <string>();
            MainWindow      mainwnd        = (MainWindow)Application.Current.MainWindow;
            ManipulatorView manipulatorwnd = (Window)Application.Current.Windows[1] as ManipulatorView;

            if (manipulatorwnd.addcolarea.Visibility == Visibility.Collapsed)
            {
                foreach (var col in mainwnd.dataGrid.Columns)
                {
                    if (!(col is GridUnBoundColumn) && col is GridTemplateColumn)
                    {
                        mappingNameCol.Add(col.HeaderText + " (TemplateColumn)");
                    }
                    else if (col is GridUnBoundColumn)
                    {
                        mappingNameCol.Add(col.HeaderText + " (UnBoundColumn)");
                    }
                    else
                    {
                        mappingNameCol.Add(col.HeaderText);
                    }
                }
            }
            else
            {
                PropertyInfo[]        properties;
                ProductDetails        product = new ProductDetails();
                MappingNameDictionary dic     = new MappingNameDictionary();
                properties = product.GetType().GetProperties();
                foreach (var property in properties)
                {
                    string headerText;
                    dic.TryGetValue(property.Name, out headerText);
                    mappingNameCol.Add(headerText);
                }
                foreach (var col in mainwnd.dataGrid.Columns)
                {
                    if (mappingNameCol.Contains(col.HeaderText))
                    {
                        mappingNameCol.Remove(col.HeaderText);
                    }
                }
            }
            this.AssociatedObject.ItemsSource = mappingNameCol;
        }
Example #2
0
        /// <summary>
        /// Occurs when the command associated with this CommandBinding executes.
        /// </summary>
        private static void OnExecuteAddColumn(object sender, ExecutedRoutedEventArgs e)
        {
            MainWindow      mainwnd        = (MainWindow)Application.Current.MainWindow;
            ManipulatorView manipulatorwnd = sender as ManipulatorView;
            int             index          = manipulatorwnd.colType_combobox.SelectedIndex;

            if (manipulatorwnd.mappingname_cmbbox.SelectedItem == null && index == 1)
            {
                if (!String.IsNullOrEmpty(manipulatorwnd.unboundcol_mappingname_txtbox.Text) && manipulatorwnd.exprsn_combobox.SelectedItem != null)
                {
                    foreach (var col in mainwnd.dataGrid.Columns)
                    {
                        if (col.MappingName == manipulatorwnd.unboundcol_mappingname_txtbox.Text)
                        {
                            manipulatorwnd.err_textblock.Text       = "The given MappingName already exists";
                            manipulatorwnd.err_textblock.Visibility = Visibility.Visible;
                            return;
                        }
                    }
                    mainwnd.dataGrid.Columns.Add(new GridUnBoundColumn()
                    {
                        MappingName = manipulatorwnd.unboundcol_mappingname_txtbox.Text, Expression = manipulatorwnd.exprsn_combobox.Text
                    });
                    manipulatorwnd.exprsn_combobox.SelectedItem = null;
                    manipulatorwnd.unboundcol_mappingname_txtbox.Clear();
                    manipulatorwnd.Close();
                }
                else
                {
                    manipulatorwnd.err_textblock.Text       = "Experssion/MappingName is mandatory";
                    manipulatorwnd.err_textblock.Visibility = Visibility.Visible;
                    return;
                }
                return;
            }

            if (index == -1 || manipulatorwnd.mappingname_cmbbox.SelectedItem == null)
            {
                manipulatorwnd.err_textblock.Text       = "ColumnType/MappingName is mandatory";
                manipulatorwnd.err_textblock.Visibility = Visibility.Visible;
                return;
            }
            if (index != -1)
            {
                MappingNameDictionary dic = new MappingNameDictionary();
                var headerText            = manipulatorwnd.mappingname_cmbbox.SelectedItem.ToString();
                var mappingName           = dic.FirstOrDefault(x => x.Value == headerText).Key;

                switch (index)
                {
                case 0:
                    mainwnd.dataGrid.Columns.Add(new GridTextColumn()
                    {
                        MappingName = mappingName, HeaderText = headerText
                    });
                    break;

                case 2:
                    mainwnd.dataGrid.Columns.Add(new GridPercentColumn()
                    {
                        MappingName = mappingName, HeaderText = headerText
                    });
                    break;

                case 3:
                    mainwnd.dataGrid.Columns.Add(new GridNumericColumn()
                    {
                        MappingName = mappingName, HeaderText = headerText
                    });
                    break;

                case 4:
                    mainwnd.dataGrid.Columns.Add(new GridDateTimeColumn()
                    {
                        MappingName = mappingName, HeaderText = headerText
                    });
                    break;

                case 5:
                    mainwnd.dataGrid.Columns.Add(new GridCurrencyColumn()
                    {
                        MappingName = mappingName, HeaderText = headerText
                    });
                    break;

                case 6:
                    mainwnd.dataGrid.Columns.Add(new GridCheckBoxColumn()
                    {
                        MappingName = mappingName, HeaderText = headerText
                    });
                    break;

                case 7:
                    GridTemplateColumn tempCol = new GridTemplateColumn();
                    tempCol.MappingName  = mappingName.ToString();
                    tempCol.HeaderText   = headerText;
                    tempCol.CellTemplate = GetDataTemplate(tempCol);
                    mainwnd.dataGrid.Columns.Add(tempCol);
                    break;
                }
                manipulatorwnd.mappingname_cmbbox.SelectedItem = null;
                manipulatorwnd.Close();
            }
        }