Exemple #1
0
        public void CopySelectedRows()
        {
            if (query != null)
            {
                RenderResults r = new RenderResults();
                for (int i = 0; i < query.columns.Count; i++)
                {
                    r.AddColumn(query.columns[i]);
                }
                r.betweenColumns = ",";
                r.betweenRows    = "CRLF";
                List <string> row = new List <string>();
                foreach (int i in SelectedIndices)
                {
                    A.SetProgress(i, SelectedIndices.Count, true);

                    row.Clear();
                    for (int j = 0; j < query.columns.Count; j++)
                    {
                        row.Add(query.rows[i][j]);
                    }
                    r.WriteRow(row);
                }
                A.SetProgress();

                Clipboard.SetText(r.results);
            }
        }
Exemple #2
0
        public void CopyColumnAs(string mode)
        {
            if (query != null && colUnderMouse >= 0 && colUnderMouse < query.columns.Count)
            {
                RenderResults r = new RenderResults();
                r.AddColumn(query.columns[colUnderMouse]);
                r.format      = mode;
                r.betweenRows = ",";
                List <string> row = new List <string>();
                foreach (int i in SelectedIndices)
                {
                    row.Clear();
                    row.Add(query.rows[i][colUnderMouse]);
                    r.WriteRow(row);
                }

                Clipboard.SetText(r.results);
            }
        }
Exemple #3
0
        public void SaveData()
        {
            if (!Directory.Exists(directoryTextbox.Text))
            {
                return;
            }

            using (renderer = new RenderResults(T.AddFileToPath(directoryTextbox.Text, fileNameTextbox.Text)))
            {
                renderer.betweenColumns                 = colSeparator.Text;
                renderer.betweenRows                    = rowSeparator.Text;
                renderer.betweenColumns                 = colSeparator.Text;
                renderer.includeHeaders                 = columnTitles.GetValue();
                renderer.escapeWhenNecessary            = escapeWhenNecessary.GetValue();
                renderer.padStrings                     = padStrings.GetValue();
                renderer.putStringColumnsInSingleQuotes = singleQuoteStrings.GetValue();
                renderer.putStringColumnsInDoubleQuotes = doubleQuoteStrings.GetValue();
                renderer.removeNewLines                 = removeNewlines.GetValue();
                renderer.removeNonAscii                 = stripNonAscii.GetValue();
                renderer.includeNulls                   = printNulls.GetValue();
                renderer.removeTime                     = removeTime.GetValue();
                renderer.format         = fileType == "Code" ? formatCombo.GetValue() : "";
                renderer.rowTemplate    = fileType.IsOneOf("Code", "Custom") ? S.Set("rowTemplate", rowTemplate.Text) : "";
                renderer.columnTemplate = fileType.IsOneOf("Code", "Custom") ? S.Set("columnTemplate", columnTemplate.Text) : "";

                string selectedTable = tableMode ? tableCombo.GetValue() : null;
                int    rowsExpected  = 0;
                string sql           = null;
                if (tableMode)
                {
                    sql          = "select " + columnsList.GetSelectedStrings(",") + " from " + selectedTable;
                    rowsExpected = A.db.GetExpectedRowsInQuery(sql);
                }
                else
                {
                    rowsExpected = selectedIndices != null && saveSelected.Checked ? selectedIndices.Count : query.rows.Count;
                }

                selectedColumnsIndexes.Clear();
                for (int i = 0; i < columnsList.Items.Count; i++)
                {
                    int pos = 0;
                    if (columnsList.GetSelected(i))
                    {
                        selectedColumnsIndexes.Add(i);
                        if (tableMode)
                        {
                            renderer.AddColumn(new QueryColumnInfo(pos++, A.db.tables[selectedTable].columns[columnsList.Items[i].ToString()]));
                        }
                        else
                        {
                            renderer.AddColumn(query.columns[i]);
                        }
                    }
                }

                if (columnTitles.Checked)
                {
                    renderer.WriteHeader();
                }

                using (QSqlBase s = A.db.GetSql())
                {
                    sForWriting = s;
                    if (tableMode)
                    {
                        sForWriting.Open(sql);
                    }
                    DlgSaveAsSave dlg    = new DlgSaveAsSave(this, rowsExpected);
                    DialogResult  result = dlg.ShowDialog(this);
                    renderer.Flush();
                    if (result == DialogResult.Yes)
                    {
                        System.Diagnostics.Process.Start(directoryTextbox.Text);
                    }
                    else if (result == DialogResult.Cancel)
                    {
                        sForWriting.CancelQuery();
                    }
                }
            }
            Close();
        }