Повышение скорости обработки c # datagridview каждой проверенной строки - PullRequest
0 голосов
/ 24 мая 2019

У меня есть данные, загруженные в мое представление данных. Одной из функций является отправка почты всем выбранным получателям. Прежде чем сделать это, я должен сначала получить выбранные данные из моего необработанного источника данных.

Однако, если у меня есть огромный набор данных и я хочу найти проверенные ячейки, весь процесс занимает слишком много времени (1-3 минуты).

private DataTable GetDataTable()
    {
        DataTable sdt = new DataTable(); //"Selected Datatable"
        int i = 0;

        for (int z = 0; z < dataGridView1.Columns.Count; z++) // Add Columns to Datatable sdt
            sdt.Columns.Add(dataGridView1.Columns[z].HeaderText);

        foreach (DataGridViewRow Row in dataGridView1.Rows)
        {
            if (Convert.ToBoolean(Row.Cells["CheckboxHeader"].Value)) // Go on if Checkbox is checked
            {
                sdt.Rows.Add();
                for (int j = 1; j < dataGridView1.ColumnCount; ++j)
                {
                    sdt.Rows[i][j] = Row.Cells[j].Value;
                }
                i++;
            }
        }
        return sdt;
    }

Как я могу получить доступ ко всем проверенным строкам одновременно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...