private void SearchBtn_Click(object sender, RoutedEventArgs e) { //이전 데이터 제거 searchTable.Children.RemoveRange(8, searchTable.Children.Count - 8); String sql; if (yearOption) { sql = String.Format("SELECT * from (SELECT date, '일정' classify, calendar content FROM calendar WHERE calendar LIKE '%{0}%' UNION ", searchBox.Text); sql += String.Format("SELECT date, '보고공문' classify, report content FROM calendar WHERE report LIKE '%{0}%' UNION ", searchBox.Text); sql += String.Format("SELECT date, '복무' classify, service content FROM calendar WHERE service LIKE '%{0}%') WHERE date BETWEEN date('now', '-1 year') AND date('now', '+1 year')", searchBox.Text); } else { sql = String.Format("SELECT date, '일정' classify, calendar content FROM calendar WHERE calendar LIKE '%{0}%' UNION ", searchBox.Text); sql += String.Format("SELECT date, '보고공문' classify, report content FROM calendar WHERE report LIKE '%{0}%' UNION ", searchBox.Text); sql += String.Format("SELECT date, '복무' classify, service content FROM calendar WHERE service LIKE '%{0}%'", searchBox.Text); } var conn = new SQLiteConnection(App.filePath); conn.Open(); SQLiteCommand cmd = new SQLiteCommand(sql, conn); SQLiteDataReader rdr = cmd.ExecuteReader(); //검색 결과 수 만큼 행 생성 int rowCount = 1; while (rdr.Read()) { RowDefinition gridRow = new RowDefinition(); //gridRow.Height = new GridLength(50); searchTable.RowDefinitions.Add(gridRow); //경계 선 만들기 Border border1 = new Border(); Grid.SetRow(border1, rowCount); Grid.SetColumn(border1, 0); border1.BorderThickness = new Thickness(1, 0, 0, 1); border1.Background = Brushes.Transparent; border1.BorderBrush = Brushes.Black; searchTable.Children.Add(border1); Border border2 = new Border(); Grid.SetRow(border2, rowCount); Grid.SetColumn(border2, 1); border2.BorderThickness = new Thickness(1, 0, 0, 1); border2.Background = Brushes.Transparent; border2.BorderBrush = Brushes.Black; searchTable.Children.Add(border2); Border border3 = new Border(); Grid.SetRow(border3, rowCount); Grid.SetColumn(border3, 2); border3.BorderThickness = new Thickness(1, 0, 0, 1); border3.Background = Brushes.Transparent; border3.BorderBrush = Brushes.Black; searchTable.Children.Add(border3); Border border4 = new Border(); Grid.SetRow(border4, rowCount); Grid.SetColumn(border4, 3); border4.BorderThickness = new Thickness(1, 0, 1, 1); border4.Background = Brushes.Transparent; border4.BorderBrush = Brushes.Black; searchTable.Children.Add(border4); //텍스트 만들기 TextBlock dateText = new TextBlock(); DateTime tempDateTime = Convert.ToDateTime(rdr["date"].ToString()); dateText.Text = tempDateTime.ToString("yyyy-MM-dd (ddd)"); dateText.Padding = new Thickness(5); dateText.TextAlignment = TextAlignment.Center; dateText.VerticalAlignment = VerticalAlignment.Center; Grid.SetRow(dateText, rowCount); Grid.SetColumn(dateText, 0); TextBlock classText = new TextBlock(); classText.Text = rdr["classify"].ToString(); classText.Padding = new Thickness(5); classText.TextAlignment = TextAlignment.Center; classText.VerticalAlignment = VerticalAlignment.Center; Grid.SetRow(classText, rowCount); Grid.SetColumn(classText, 1); TextBlock CoincideText = new TextBlock(); CoincideText.Text = rdr["content"].ToString(); CoincideText.Padding = new Thickness(5); CoincideText.TextWrapping = TextWrapping.Wrap; CoincideText.TextTrimming = TextTrimming.CharacterEllipsis; Grid.SetRow(CoincideText, rowCount); Grid.SetColumn(CoincideText, 2); Button linkBtn = new Button(); ////리소스에서 이미지 가져오기 //System.Drawing.Bitmap image = Properties.Resources._2268137; //MemoryStream imgStream = new MemoryStream(); //image.Save(imgStream, System.Drawing.Imaging.ImageFormat.Bmp); //imgStream.Seek(0, SeekOrigin.Begin); //BitmapFrame newimg = BitmapFrame.Create(imgStream); var converter = new System.Windows.Media.BrushConverter(); var brush = (Brush)converter.ConvertFromString("#673AB7"); linkBtn.Content = new PackIcon { Kind = PackIconKind.Launch, Foreground = brush, Background = System.Windows.Media.Brushes.Transparent }; linkBtn.HorizontalAlignment = HorizontalAlignment.Center; linkBtn.VerticalAlignment = VerticalAlignment.Center; linkBtn.Background = System.Windows.Media.Brushes.Transparent; linkBtn.BorderThickness = new Thickness(0); linkBtn.Click += (object eventSender, RoutedEventArgs eventArgs) => { int index = 0; CultureInfo provider = CultureInfo.InvariantCulture; DateTime dtDate = tempDateTime; _window.calendar.SelectedDate = dtDate; _window.calendar.DisplayDate = dtDate; switch (classText.Text) { case "일정": index = 0; break; case "보고공문": index = 1; break; case "복무": index = 2; break; } _window.ComboBox.SelectedIndex = index; }; Grid.SetRow(linkBtn, rowCount); Grid.SetColumn(linkBtn, 3); searchTable.Children.Add(dateText); searchTable.Children.Add(CoincideText); searchTable.Children.Add(classText); searchTable.Children.Add(linkBtn); rowCount++; } rdr.Close(); conn.Close(); }
// creates the BOTTOM grid and adds buttons private void CreateGrid() { NewGame(); bombsLeft.Text = MyVariables.mine.ToString(); //clear everything to start anew tablero.RowDefinitions.Clear(); tablero.ColumnDefinitions.Clear(); //this creates the grid's rows and columns for (int i = 0; i < gridy.theGrid.GetLength(0); i++) { RowDefinition row = new RowDefinition(); row.MinHeight = 25; tablero.RowDefinitions.Add(row); } for (int j = 0; j < gridy.theGrid.GetLength(1); j++) { ColumnDefinition col = new ColumnDefinition(); col.MinWidth = 25; tablero.ColumnDefinitions.Add(col); } //colors SolidColorBrush color = new SolidColorBrush(Colors.LightSeaGreen); SolidColorBrush color2 = new SolidColorBrush(Colors.MediumAquamarine); // create all the children for (int i = 0; i < gridy.theGrid.GetLength(0); i++) { for (int j = 0; j < gridy.theGrid.GetLength(1); j++) { //textblock - background TextBlock block = new TextBlock(); block.Text = gridy.theGrid[i, j].Mine.ToString(); block.FontWeight = FontWeights.UltraBold; //make the grid display a bomb when the array value is 9, else just the numbers of different colors if (gridy.theGrid[i, j].Mine == 9) { string bomb = "💣"; block.Text = bomb; } else if (gridy.theGrid[i, j].Mine == 0) { block.Text = " "; } else if (gridy.theGrid[i, j].Mine == 1) { block.Foreground = Brushes.Green; } else if (gridy.theGrid[i, j].Mine == 2) { block.Foreground = Brushes.Orange; } else if (gridy.theGrid[i, j].Mine == 3) { block.Foreground = Brushes.DarkOrange; } else if (gridy.theGrid[i, j].Mine == 4) { block.Foreground = Brushes.Red; } else if (gridy.theGrid[i, j].Mine == 5) { block.Foreground = Brushes.Tomato; } else if (gridy.theGrid[i, j].Mine == 6) { block.Foreground = Brushes.DeepPink; } else if (gridy.theGrid[i, j].Mine == 7) { block.Foreground = Brushes.Navy; } else if (gridy.theGrid[i, j].Mine == 8) { block.Foreground = Brushes.DarkGray; } block.Background = color2; block.TextAlignment = TextAlignment.Center; block.VerticalAlignment = VerticalAlignment.Bottom; block.Width = 23; block.Height = 23; block.Padding = new Thickness(0, 5, 0, 0); block.VerticalAlignment = VerticalAlignment.Center; block.HorizontalAlignment = HorizontalAlignment.Center; block.Name = "b" + i + "_" + j; //boton - top-------------------------------------------- Button boton = new Button(); boton.Content = " "; //remove later boton.Background = color; boton.Width = 25; boton.Height = 25; boton.VerticalAlignment = VerticalAlignment.Center; boton.HorizontalAlignment = HorizontalAlignment.Center; boton.Click += new RoutedEventHandler(Button_Click); boton.MouseRightButtonDown += new MouseButtonEventHandler(Button_rightclick); //right click event //to find the button later on // boton.Name = "boton" + i + "_" + j; boton.Tag = i + "_" + j; //since I can't RegisterName... //locate and add the block Grid.SetRow(block, i); Grid.SetColumn(block, j); //locate and add the button Grid.SetRow(boton, i); Grid.SetColumn(boton, j); tablero.Children.Add(block); tablero.Children.Add(boton); //put the tablero at the bottom Grid.SetZIndex(tablero, 0); } } }
private static void AddComponent(Grid grid, int row, int col, FrameworkElement control) { grid.Children.Add(control); Grid.SetRow(control, row); Grid.SetColumn(control, col); }