Пример #1
0
        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);
            }
        }
Пример #2
0
        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("");
            }
        }
Пример #3
0
        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
            }
        }
Пример #4
0
        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;
            }
        }
Пример #5
0
        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);
                    }
                }
            }
        }
Пример #6
0
        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;
                }
            }
        }
Пример #7
-1
 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);
     }
 }