예제 #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);
            }
        }
예제 #2
0
        public bool WriteNextRow()
        {
            List <string> row = new List <string>();

            if (tableMode)
            {
                if (sForWriting.GetRow())
                {
                    for (int i = 0; i < sForWriting.FieldCount; i++)
                    {
                        row.Add(sForWriting.GetString(i));
                    }
                }
            }
            else
            {
                if (selectedIndices != null && saveSelected.Checked)
                {
                    rowIndex = indicesIndex >= selectedIndices.Count ? -1 : selectedIndices[indicesIndex++];
                }
                else
                {
                    if (rowIndex >= query.rows.Count)
                    {
                        rowIndex = -1;
                    }
                }
                if (rowIndex >= 0)
                {
                    for (int i = 0; i < query.columns.Count; i++)
                    {
                        if (selectedColumnsIndexes.Contains(i))
                        {
                            row.Add(query.rows[rowIndex][i]);
                        }
                    }
                    rowIndex++;
                }
            }
            if (row.Count == 0)
            {
                return(false);
            }

            renderer.WriteRow(row);
            return(true);
        }
예제 #3
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);
            }
        }