private void AddCase_Click(object sender, RoutedEventArgs e) { int numberOfStackPanel = computedGrid.Children.Count; int i = 2; this.InitializeComponent(); Label lblWhen = new Label(); TextBox txtWhen = new TextBox(); Label lblThen = new Label(); TextBox txtThen = new TextBox(); Label lblElse = new Label(); TextBox txtElse = new TextBox(); var lblW = (UIElement)this.FindName("lblWhen" + Convert.ToString(totalCaseCondition)); var txtW = (UIElement)this.FindName("txtWhen" + Convert.ToString(totalCaseCondition)); var lblT = (UIElement)this.FindName("lblThen" + Convert.ToString(totalCaseCondition)); var txtT = (UIElement)this.FindName("txtThen" + Convert.ToString(totalCaseCondition)); var lblE = (UIElement)this.FindName("lblElse"); var txtE = (UIElement)this.FindName("txtElse"); this.computedGrid.Children.Remove(lblE); this.computedGrid.Children.Remove(txtE); if (lblW != null) { this.UnregisterName("lblWhen" + Convert.ToString(totalCaseCondition)); this.UnregisterName("txtWhen" + Convert.ToString(totalCaseCondition)); this.UnregisterName("lblThen" + Convert.ToString(totalCaseCondition)); this.UnregisterName("txtThen" + Convert.ToString(totalCaseCondition)); } this.UnregisterName("lblElse"); this.UnregisterName("txtElse"); lblWhen.Name = "lblWhen" + Convert.ToString(totalCaseCondition); lblWhen.Content = "When"; lblWhen.Visibility = System.Windows.Visibility.Visible; lblWhen.HorizontalAlignment = System.Windows.HorizontalAlignment.Right; lblWhen.Margin = new Thickness(7); lblWhen.SetValue(Grid.RowProperty, totalRow); lblWhen.SetValue(Grid.ColumnProperty, 0); this.RegisterName("lblWhen" + Convert.ToString(totalCaseCondition), lblWhen); txtWhen.Text = ""; txtWhen.Name = "txtWhen" + Convert.ToString(totalCaseCondition); txtWhen.Height = 20; txtWhen.Width = 120; txtWhen.BorderBrush = System.Windows.Media.Brushes.SteelBlue; txtWhen.Visibility = System.Windows.Visibility.Visible; txtWhen.Margin = new Thickness(0, 0, 5, 5); txtWhen.SetValue(Grid.RowProperty, totalRow); txtWhen.SetValue(Grid.ColumnProperty, 1); this.RegisterName("txtWhen" + Convert.ToString(totalCaseCondition), txtWhen); totalRow = totalRow + 2; lblThen.Name = "lblThen" + Convert.ToString(i); lblThen.Content = "Then"; lblThen.Visibility = System.Windows.Visibility.Visible; lblThen.HorizontalAlignment = System.Windows.HorizontalAlignment.Right; lblThen.Margin = new Thickness(7); lblThen.SetValue(Grid.RowProperty, totalRow); lblThen.SetValue(Grid.ColumnProperty, 0); this.RegisterName("lblThen" + Convert.ToString(totalCaseCondition), lblThen); txtThen.Text = ""; txtThen.Name = "txtThen" + Convert.ToString(totalCaseCondition); txtThen.Height = 20; txtThen.Width = 120; txtThen.BorderBrush = System.Windows.Media.Brushes.SteelBlue; txtThen.Visibility = System.Windows.Visibility.Visible; txtThen.Margin = new Thickness(0, 0, 5, 5); txtThen.SetValue(Grid.RowProperty, totalRow); txtThen.SetValue(Grid.ColumnProperty, 1); this.RegisterName("txtThen" + Convert.ToString(totalCaseCondition), txtThen); this.computedGrid.Children.Add(lblWhen); this.computedGrid.Children.Add(txtWhen); this.computedGrid.Children.Add(lblThen); this.computedGrid.Children.Add(txtThen); totalRow = totalRow + 2; lblElse.Content = "Else"; lblElse.Name = "lblElse"; lblElse.Visibility = System.Windows.Visibility.Visible; lblElse.HorizontalAlignment = System.Windows.HorizontalAlignment.Right; lblElse.Margin = new Thickness(7); lblElse.SetValue(Grid.RowProperty, totalRow); lblElse.SetValue(Grid.ColumnProperty, 0); this.RegisterName("lblElse", lblElse); txtElse.Text = ""; txtElse.Name = "txtElse"; txtElse.Height = 20; txtElse.Width = 120; txtElse.BorderBrush = System.Windows.Media.Brushes.SteelBlue; txtElse.Visibility = System.Windows.Visibility.Visible; txtElse.Margin = new Thickness(0, 0, 5, 5); txtElse.SetValue(Grid.RowProperty, totalRow); txtElse.SetValue(Grid.ColumnProperty, 1); this.RegisterName("txtElse", txtElse); this.computedGrid.Children.Add(lblElse); this.computedGrid.Children.Add(txtElse); AddCompCol.SetValue(Grid.RowProperty, totalRow + 2); totalCaseCondition = totalCaseCondition + 1; }
private void ComputedColFunctionComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { this.ComputedColFunctionComboBox.Style = ComboboxOriginalStyle; ComputedColComboBox1.Visibility = System.Windows.Visibility.Hidden; ComputedColComboBox2.Visibility = System.Windows.Visibility.Hidden; ComputedColComboBox3.Visibility = System.Windows.Visibility.Hidden; ComputedColComboBox4.Visibility = System.Windows.Visibility.Hidden; ComputedColName1.Visibility = System.Windows.Visibility.Hidden; ComputedColName2.Visibility = System.Windows.Visibility.Hidden; ComputedColName3.Visibility = System.Windows.Visibility.Hidden; ComputedColName4.Visibility = System.Windows.Visibility.Hidden; ComputedColifnullTxtBox.Visibility = System.Windows.Visibility.Hidden; AddCaseCondition.Visibility = System.Windows.Visibility.Hidden; RemoveCaseCondition.Visibility = System.Windows.Visibility.Hidden; Label lblWhen = new Label(); TextBox txtWhen = new TextBox(); Label lblThen = new Label(); TextBox txtThen = new TextBox(); Label lblElse = new Label(); TextBox txtElse = new TextBox(); for (int i = 1; i < totalCaseCondition; i++) { var lblW = (UIElement)this.FindName("lblWhen" + Convert.ToString(i)); var txtW = (UIElement)this.FindName("txtWhen" + Convert.ToString(i)); var lblT = (UIElement)this.FindName("lblThen" + Convert.ToString(i)); var txtT = (UIElement)this.FindName("txtThen" + Convert.ToString(i)); var lblE = (UIElement)this.FindName("lblElse"); var txtE = (UIElement)this.FindName("txtElse"); this.computedGrid.Children.Remove(lblW); this.computedGrid.Children.Remove(txtW); this.computedGrid.Children.Remove(lblT); this.computedGrid.Children.Remove(txtT); this.computedGrid.Children.Remove(lblE); this.computedGrid.Children.Remove(txtE); if (lblW != null) { this.UnregisterName("lblWhen" + Convert.ToString(i)); this.UnregisterName("txtWhen" + Convert.ToString(i)); this.UnregisterName("lblThen" + Convert.ToString(i)); this.UnregisterName("txtThen" + Convert.ToString(i)); if (i == 1) { this.UnregisterName("lblElse"); this.UnregisterName("txtElse"); } } } this.ComputedColFunctionComboBox.ItemsSource = Functions.getFunctionNames(); if (ComputedColFunctionComboBox.SelectedItem != null) { Function function = Functions.getFunction(ComputedColFunctionComboBox.SelectedItem.ToString()); if (function != null) { List <string> columnNames = GetColumnsFromAllFromTabTable(); List <string> formatType = Common.GetDateFormatList(); switch (function.NumParameters) { case 1: ComputedColComboBox1.Visibility = System.Windows.Visibility.Visible; ComputedColName1.Visibility = System.Windows.Visibility.Visible; this.ComputedColComboBox1.ItemsSource = columnNames; this.ComputedColName1.Content = "Column Name"; break; case 2: ComputedColComboBox1.Visibility = System.Windows.Visibility.Visible; ComputedColComboBox2.Visibility = System.Windows.Visibility.Visible; ComputedColName1.Visibility = System.Windows.Visibility.Visible; ComputedColName2.Visibility = System.Windows.Visibility.Visible; this.ComputedColComboBox1.ItemsSource = columnNames; this.ComputedColName1.Content = "Column Name"; if (function.Name == "DATE_FORMAT") { this.ComputedColName2.Content = "Format Type"; this.ComputedColComboBox2.ItemsSource = formatType; break; } else if (function.Name == "IFNULL") { this.ComputedColName2.Content = "Value"; this.ComputedColifnullTxtBox.Visibility = System.Windows.Visibility.Visible; this.ComputedColComboBox2.Visibility = System.Windows.Visibility.Hidden; this.ComputedColifnullTxtBox.Text = "0"; break; } else { this.ComputedColName2.Content = "Value"; this.ComputedColComboBox2.ItemsSource = columnNames; break; } case 3: ComputedColComboBox1.Visibility = System.Windows.Visibility.Visible; ComputedColComboBox2.Visibility = System.Windows.Visibility.Visible; ComputedColComboBox3.Visibility = System.Windows.Visibility.Visible; ComputedColName1.Visibility = System.Windows.Visibility.Visible; ComputedColName2.Visibility = System.Windows.Visibility.Visible; ComputedColName3.Visibility = System.Windows.Visibility.Visible; this.ComputedColComboBox1.ItemsSource = columnNames; this.ComputedColComboBox2.ItemsSource = columnNames; this.ComputedColComboBox3.ItemsSource = columnNames; this.ComputedColName1.Content = "Group Column"; this.ComputedColName2.Content = "Order Column"; this.ComputedColName3.Content = "Ref Column"; break; case 4: ComputedColComboBox1.Visibility = System.Windows.Visibility.Visible; ComputedColComboBox2.Visibility = System.Windows.Visibility.Visible; ComputedColComboBox3.Visibility = System.Windows.Visibility.Visible; ComputedColComboBox4.Visibility = System.Windows.Visibility.Visible; ComputedColName1.Visibility = System.Windows.Visibility.Visible; ComputedColName2.Visibility = System.Windows.Visibility.Visible; ComputedColName3.Visibility = System.Windows.Visibility.Visible; this.ComputedColComboBox1.ItemsSource = columnNames; this.ComputedColComboBox2.ItemsSource = columnNames; this.ComputedColComboBox3.ItemsSource = columnNames; this.ComputedColComboBox4.ItemsSource = columnNames; this.ComputedColName1.Content = "Group Column"; this.ComputedColName2.Content = "Order Column"; this.ComputedColName3.Content = "Ref Column"; break; case 5: AddCaseCondition.Visibility = System.Windows.Visibility.Visible; RemoveCaseCondition.Visibility = System.Windows.Visibility.Visible; totalRow = 13; lblWhen.Name = "lblWhen1"; lblWhen.Content = "When"; lblWhen.Visibility = System.Windows.Visibility.Visible; lblWhen.HorizontalAlignment = System.Windows.HorizontalAlignment.Right; lblWhen.Margin = new Thickness(7); lblWhen.SetValue(Grid.RowProperty, totalRow); lblWhen.SetValue(Grid.ColumnProperty, 0); this.RegisterName("lblWhen1", lblWhen); txtWhen.Text = ""; txtWhen.Name = "txtWhen1"; txtWhen.Height = 20; txtWhen.Width = 120; txtWhen.BorderBrush = System.Windows.Media.Brushes.SteelBlue; txtWhen.Visibility = System.Windows.Visibility.Visible; txtWhen.Margin = new Thickness(0, 0, 5, 5); txtWhen.SetValue(Grid.RowProperty, totalRow); txtWhen.SetValue(Grid.ColumnProperty, 1); this.RegisterName("txtWhen1", txtWhen); totalRow = totalRow + 2; lblThen.Name = "lblThen1"; lblThen.Content = "Then"; lblThen.Visibility = System.Windows.Visibility.Visible; lblThen.HorizontalAlignment = System.Windows.HorizontalAlignment.Right; lblThen.Margin = new Thickness(7); lblThen.SetValue(Grid.RowProperty, totalRow); lblThen.SetValue(Grid.ColumnProperty, 0); this.RegisterName("lblThen1", lblThen); txtThen.Text = ""; txtThen.Name = "txtThen1"; txtThen.Height = 20; txtThen.Width = 120; txtThen.BorderBrush = System.Windows.Media.Brushes.SteelBlue; txtThen.Visibility = System.Windows.Visibility.Visible; txtThen.Margin = new Thickness(0, 0, 5, 5); txtThen.SetValue(Grid.RowProperty, totalRow); txtThen.SetValue(Grid.ColumnProperty, 1); this.RegisterName("txtThen1", txtThen); this.computedGrid.Children.Add(lblWhen); this.computedGrid.Children.Add(txtWhen); this.computedGrid.Children.Add(lblThen); this.computedGrid.Children.Add(txtThen); totalRow = totalRow + 2; lblElse.Content = "Else"; lblElse.Name = "lblElse"; lblElse.Visibility = System.Windows.Visibility.Visible; lblElse.HorizontalAlignment = System.Windows.HorizontalAlignment.Right; lblElse.Margin = new Thickness(7); lblElse.SetValue(Grid.RowProperty, totalRow); lblElse.SetValue(Grid.ColumnProperty, 0); this.RegisterName("lblElse", lblElse); txtElse.Text = ""; txtElse.Name = "txtElse"; txtElse.Height = 20; txtElse.Width = 120; txtElse.BorderBrush = System.Windows.Media.Brushes.SteelBlue; txtElse.Visibility = System.Windows.Visibility.Visible; txtElse.Margin = new Thickness(0, 0, 5, 5); txtElse.SetValue(Grid.RowProperty, totalRow); txtElse.SetValue(Grid.ColumnProperty, 1); this.RegisterName("txtElse", txtElse); this.computedGrid.Children.Add(lblElse); this.computedGrid.Children.Add(txtElse); AddCompCol.SetValue(Grid.RowProperty, totalRow + 2); break; } } } }
private void RemoveCase_Click(object sender, RoutedEventArgs e) { Label lblWhen = new Label(); TextBox txtWhen = new TextBox(); Label lblThen = new Label(); TextBox txtThen = new TextBox(); Label lblElse = new Label(); TextBox txtElse = new TextBox(); if (totalCaseCondition > 2) { var lblw = (UIElement)this.FindName("lblWhen" + Convert.ToString(totalCaseCondition - 1)); var txtw = (UIElement)this.FindName("txtWhen" + Convert.ToString(totalCaseCondition - 1)); var lblt = (UIElement)this.FindName("lblThen" + Convert.ToString(totalCaseCondition - 1)); var txtt = (UIElement)this.FindName("txtThen" + Convert.ToString(totalCaseCondition - 1)); var lble = (UIElement)this.FindName("lblElse"); var txte = (UIElement)this.FindName("txtElse"); totalRow = totalRow - 2; this.computedGrid.Children.Remove(lblw); this.computedGrid.Children.Remove(txtw); totalRow = totalRow - 2; this.computedGrid.Children.Remove(lblt); this.computedGrid.Children.Remove(txtt); this.computedGrid.Children.Remove(lble); this.computedGrid.Children.Remove(txte); this.UnregisterName("lblElse"); this.UnregisterName("txtElse"); lblElse.Content = "Else"; lblElse.Name = "lblElse"; lblElse.Visibility = System.Windows.Visibility.Visible; lblElse.HorizontalAlignment = System.Windows.HorizontalAlignment.Right; lblElse.Margin = new Thickness(7); lblElse.SetValue(Grid.RowProperty, totalRow); lblElse.SetValue(Grid.ColumnProperty, 0); this.RegisterName("lblElse", lblElse); txtElse.Text = ""; txtElse.Name = "txtElse"; txtElse.Height = 20; txtElse.Width = 120; txtElse.BorderBrush = System.Windows.Media.Brushes.SteelBlue; txtElse.Visibility = System.Windows.Visibility.Visible; txtElse.Margin = new Thickness(0, 0, 5, 5); txtElse.SetValue(Grid.RowProperty, totalRow); txtElse.SetValue(Grid.ColumnProperty, 1); this.RegisterName("txtElse", txtElse); this.computedGrid.Children.Add(lblElse); this.computedGrid.Children.Add(txtElse); AddCompCol.SetValue(Grid.RowProperty, totalRow + 2); totalCaseCondition = totalCaseCondition - 1; } }