我已将一个数据表加载到我的datagridview中。 一种功能是将邮件发送给所有选定的收件人。 在这样做之前,我必须首先从原始数据表中获取所选数据。
但是,如果我有一个庞大的数据表并想要查找已检查的单元格,则整个过程将花费很长时间(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;
}
如何一次访问所有选中的行?