private void SummationTableExport_Click(object sender, RoutedEventArgs e) { var csv = new StringBuilder(); csv.AppendLine("+;" + string.Join(";", SummationTable.GetLabels())); for (int i = 0; i < SummationTable.Rows.Count(); i++) { csv.AppendLine(SummationTable.Rows[i].ToString()); } Microsoft.Win32.SaveFileDialog dialog = getDialog(); // Show save file dialog box Nullable <bool> result = dialog.ShowDialog(); // Process save file dialog box results if (result == true) { // Save document string filename = dialog.FileName; File.WriteAllText(filename, csv.ToString()); } }
private async void generateTablesAsync() { await Task.Run(() => { ResultGrid.Dispatcher.Invoke(() => { List <ClsPolinom.Polinom> columns = FiniteFieldLibrary.FiniteField.generateMembers(MyOrder); //Prepare tables representation int i = 0; foreach (ClsPolinom.Polinom polinom in columns) { SummationTable.createRow(columns.Count()); SummationGrid.Columns.Add(getDataGridTemplateColumn(getPolinomTextBlock(polinom), String.Format("Polinoms[{0}]", i))); SummationTable.Rows[i].Label = polinom; MultiplicationTable.createRow(columns.Count()); MultiplicationGrid.Columns.Add(getDataGridTemplateColumn(getPolinomTextBlock(polinom), String.Format("Polinoms[{0}]", i))); MultiplicationTable.Rows[i].Label = polinom; i++; } }); }); ResultGrid.Visibility = Visibility.Visible; await Task.Run(() => { FiniteFieldLibrary.FiniteField.calculateTables(SummationTable.GetLabelPolinoms(), MyOrder, IrreduciblePolinom, ((ClsPolinom.Polinom res, int i, int j) => { SummationTable.Rows[i].Polinoms[j] = res; ResultGrid.Dispatcher.Invoke(() => { SummationGrid.ItemsSource = null; SummationGrid.ItemsSource = SummationTable.Rows; }); }), ((ClsPolinom.Polinom res, int i, int j) => { MultiplicationTable.Rows[i].Polinoms[j] = res; ResultGrid.Dispatcher.Invoke(() => { MultiplicationGrid.ItemsSource = null; MultiplicationGrid.ItemsSource = MultiplicationTable.Rows; }); }), () => { Dispatcher.Invoke(() => { TableButtonSpinner.Visibility = Visibility.Hidden; TableButton.IsEnabled = true; enableExportButtons(); }); }); }); }
private void generateTables(object sender, RoutedEventArgs e) { disableExportButtons(); TableButtonSpinner.Visibility = Visibility.Visible; TableButton.IsEnabled = false; SummationGrid.ItemsSource = null; SummationTable.Clear();; SummationGrid.Columns.Clear(); SummationGrid.ItemsSource = SummationTable.Rows; MultiplicationGrid.ItemsSource = null; MultiplicationTable.Clear(); MultiplicationGrid.Columns.Clear(); MultiplicationGrid.ItemsSource = MultiplicationTable.Rows; generateTablesAsync(); }