Exemple #1
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();
            }
        }