/// <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(); } }