private void HinzufügenToolStripMenuItem1_Click(object sender, EventArgs e) { if (toolStripTextBox1.Text != "") { workspaceDataGridView.Columns.Add(toolStripTextBox1.Text, toolStripTextBox1.Text); hinzufügenToolStripMenuItem1.Text = ""; MessageBoxProcessor.Show("Spalte erfolgreich hinzugefügt", "Spalte hinzugefügt", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
public static string PopulateCsvString(DataGridView dataGridView) { string csvDataString = null; if (dataGridView.Columns.Count > 1 && dataGridView.Rows.Count > 1) { foreach (DataGridViewColumn dataGridViewColumn in dataGridView.Columns) { csvDataString += dataGridViewColumn.HeaderText.Replace(Environment.NewLine, string.Empty) + ";"; } csvDataString = csvDataString.Remove(csvDataString.Length - 1) + Environment.NewLine; foreach (DataGridViewRow dataGridViewRow in dataGridView.Rows) { foreach (DataGridViewCell dataGridViewCell in dataGridViewRow.Cells) { object tempVal = dataGridViewCell.Value; if (tempVal is null) { csvData += ";"; } else { string value = Regex.Replace(tempVal.ToString(), @"\n|\r", ""); csvDataString += value + ";"; } } csvDataString = csvDataString.Remove(csvDataString.Length - 1) + Environment.NewLine; } return(csvDataString); } else { MessageBoxProcessor.Show("Sie müssen mindestens zwei Spalten wählen!", "Fehler beim Laden des Charts", MessageBoxButtons.OK, MessageBoxIcon.Error); return(""); } }
public static void BindChartData(LiveCharts.WinForms.CartesianChart stringBarChart, LiveCharts.WinForms.PieChart stringPieChart) { ClearChart(stringBarChart, stringPieChart); if (stringListValuePairs.Any()) { Random randomColorGenerator = new Random(); ChartValues <int> occurrences = new ChartValues <int>(); List <string> yAxisValues = new List <string>(); int i = 0; foreach (KeyValuePair <string, int> keyValuePair in stringListValuePairs) { if (!string.IsNullOrWhiteSpace(keyValuePair.Key)) { occurrences.Add(keyValuePair.Value); yAxisValues.Add(keyValuePair.Key); } i++; } if (i > 100) { MessageBoxProcessor.Show("Bei mehr als 100 Einträgen müssen Sie heranzoomen um die einzelnen Einträge richtig anzuzigen." + Environment.NewLine + "Nutzen Sie hierzu das Scrollrad", "Viele Einträge", MessageBoxButtons.OK, MessageBoxIcon.Information); } #region stringBarChart var tooltip = new DefaultTooltip { SelectionMode = TooltipSelectionMode.SharedYValues }; SolidColorBrush barBrush = new SolidColorBrush(System.Windows.Media.Color.FromRgb((byte)randomColorGenerator.Next(255), (byte)randomColorGenerator.Next(255), (byte)randomColorGenerator.Next(255))); stringBarChart.Series.Add(new RowSeries { Title = "Anzahl", Values = occurrences, StrokeThickness = 0, Width = 20, Fill = barBrush }); stringBarChart.AxisY.Add(new LiveCharts.Wpf.Axis { Labels = yAxisValues }); stringBarChart.AxisX.Add(new LiveCharts.Wpf.Axis { LabelFormatter = value => value.ToString() }); stringBarChart.DataTooltip = tooltip; stringBarChart.Zoom = ZoomingOptions.Xy; stringBarChart.ScrollMode = ScrollMode.XY; #endregion stringBarChart #region stringPieChart SeriesCollection seriesCollection = new SeriesCollection(); foreach (KeyValuePair <string, int> keyValuePair in stringListValuePairs) { string labelPoint(ChartPoint chartPoint) => string.Format("({0})", keyValuePair.Key); if (!string.IsNullOrWhiteSpace(keyValuePair.Key)) { SolidColorBrush pieBrush = new SolidColorBrush(System.Windows.Media.Color.FromRgb((byte)randomColorGenerator.Next(255), (byte)randomColorGenerator.Next(255), (byte)randomColorGenerator.Next(255))); PieSeries pieSeries = new PieSeries { Title = keyValuePair.Key.ToString(), Values = new ChartValues <double> { keyValuePair.Value }, DataLabels = true, LabelPoint = labelPoint, StrokeThickness = 0, Fill = pieBrush }; seriesCollection.Add(pieSeries); } } stringPieChart.LegendLocation = LegendLocation.Bottom; stringPieChart.Series = seriesCollection; stringPieChart.Zoom = ZoomingOptions.Xy; #endregion stringPieChart } }
public static void ChartMode( bool enabled, DataGridView dataGridView, ContextMenuStrip newContextMenuStrip, ContextMenuStrip regularContextMenuStrip, ToolStripMenuItem toolStripMenuItem, Panel[] panels) { // Alle angegebenen Controls deaktivieren und unsichtbar machen if (enabled == true) { StringBuilder messageBoxMessage = new StringBuilder(); messageBoxMessage.AppendLine("Sie haben den Diagramm Modus erfolgriech aktiviert!"); messageBoxMessage.AppendLine("Wählen Sie nun eine oder mehrere Spalten zur Darstellung in einem Diagramm."); messageBoxMessage.AppendLine(""); messageBoxMessage.AppendLine("Zur bestätigung Ihrer Erstellung, nutzen Sie bitte das Kontextmenü"); DialogResult dialogResult = MessageBoxProcessor.Show(messageBoxMessage.ToString(), "Diagramm Modus aktiviert", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); if (dialogResult == DialogResult.OK) { isChartModeEnabled = true; reEnablePanelsChartMode = panels; foreach (Panel panel in panels) { panel.Visible = false; panel.Visible = false; } foreach (DataGridViewColumn dataGridViewColumn in dataGridView.Columns) { dataGridViewColumn.SortMode = DataGridViewColumnSortMode.NotSortable; dataGridView.ReadOnly = true; if (dataGridViewColumn.HeaderCell.Value != null) { ToolStripMenuItem newToolStripMenuItem = new ToolStripMenuItem { CheckOnClick = true, Text = dataGridViewColumn.HeaderCell.Value.ToString() }; toolStripMenuItem.DropDownItems.Add(newToolStripMenuItem); } } dataGridView.SelectionMode = DataGridViewSelectionMode.ColumnHeaderSelect; dataGridView.ContextMenuStrip = newContextMenuStrip; } } else { isChartModeEnabled = false; foreach (Panel panel in reEnablePanelsChartMode) { panel.Visible = true; panel.Visible = true; } dataGridView.SelectionMode = DataGridViewSelectionMode.RowHeaderSelect; foreach (DataGridViewColumn dataGridViewColumn in dataGridView.Columns) { dataGridViewColumn.SortMode = DataGridViewColumnSortMode.Automatic; dataGridView.ReadOnly = false; } reEnablePanelsChartMode = null; dataGridView.ContextMenuStrip = regularContextMenuStrip; } }
public static void SaveCsv(DataGridView dataGridView) { SaveFileDialog saveFileDialog = new SaveFileDialog { InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop), Title = "CSV Datei Speichern", DefaultExt = "csv", Filter = "CSV Dateien (*.csv)|*.csv" }; if (saveFileDialog.ShowDialog() == DialogResult.OK) { string outputFile = saveFileDialog.FileName; bool contineSaving = true; if (File.Exists(outputFile)) { DialogResult dialogResult = MessageBoxProcessor.Show("Möchten Sie die Datei wirklich überschreiben?", "Datei überschreiben", MessageBoxButtons.YesNo, MessageBoxIcon.Question); ; if (dialogResult == DialogResult.Yes) { contineSaving = true; File.Delete(outputFile); } } else { contineSaving = true; } if (contineSaving == true) { try { StringBuilder UptoMain = new StringBuilder(); StreamWriter file = new StreamWriter(outputFile, true, Encoding.UTF8, 512); string header = ""; foreach (DataGridViewColumn column in dataGridView.Columns) { header += column.HeaderText.Replace(";", "") + ";"; } header = header.Remove(header.Length - 1); UptoMain.AppendLine(header); foreach (DataGridViewRow row in dataGridView.Rows) { string line = ""; foreach (DataGridViewCell cell in row.Cells) { if (cell.Value != null) { string val = cell.Value.ToString(); bool check = false; if (int.TryParse(val.Trim(), out int isInt)) { check = true; } if (double.TryParse(val.Trim(), out double isDouble)) { check = true; } if (check == false && val != null) { val = '"' + val + '"'; } line += val.Replace(";", "") + ";"; } else { line += ";"; } } line = line.Remove(line.Length - 1); UptoMain.AppendLine(line); } file.WriteLine(UptoMain); file.Close(); file.Dispose(); MessageBoxProcessor.Show("Ihre Datei wurde erfolgreich gespeichert!" + Environment.NewLine + outputFile, "Datei erfolgreich gespeichert", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (ArgumentException e) { MessageBoxProcessor.Show("Das Speichern der Datei ist fehlgeschlagen!" + Environment.NewLine + "---" + Environment.NewLine + e.ToString(), "Speichern fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } } }
public static void PopulateDataGridView(DataGridView dataGridView) { dataGridView.Rows.Clear(); dataGridView.Columns.Clear(); dataGridView.Refresh(); if (File.Exists(filePath)) { FileInfo fi = new FileInfo(filePath); if (fi.Length > 0) { try { using (StreamReader sr = new StreamReader(filePath)) { foreach (string entry in sr.ReadLine().Split(seperator)) { dataGridView.Columns.Add(columns.ToString().Replace(";", ""), entry); } sr.Close(); sr.Dispose(); } using (FileStream fs = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) using (BufferedStream bs = new BufferedStream(fs)) using (var streamReader = new StreamReader(fs)) using (TextFieldParser csvParser = new TextFieldParser(streamReader)) { csvParser.CommentTokens = new string[] { "#" }; csvParser.SetDelimiters(new string[] { ";" }); csvParser.HasFieldsEnclosedInQuotes = true; csvParser.ReadLine(); while (!csvParser.EndOfData) { string[] fields = csvParser.ReadFields(); dataGridView.Rows.Add(fields); } csvParser.Close(); csvParser.Dispose(); streamReader.Close(); streamReader.Dispose(); bs.Close(); bs.Dispose(); fs.Close(); fs.Dispose(); } isDone = true; } catch { filePath = null; MessageBoxProcessor.Show("Beim Laden der Datei ist ein Fehler aufgetreten!", "Datei konnte nicht geladen werden", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { isDone = true; } } }
public static void ShowChart(DataGridView dataGridView) { if (dataGridView.SelectedColumns.Count > 0) { GetSelectedColumnsProcessedValues(dataGridView, stringListValuePairs); if (stringListValuePairs.Any()) { Charts chart = new Charts(); chart.Show(); } else { MessageBoxProcessor.Show("Es ist ein Fehler aufgetreten!" + Environment.NewLine + "Bitte versuchen Sie es erneut.", "Erstellung fehlgeschlagen", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBoxProcessor.Show("Wählen Sie mindestens eine Spalte", "Spalte wählen", MessageBoxButtons.OK, MessageBoxIcon.Information); } }