c# - 提高处理速度 c# datagridview foreach 检查行
问题描述
我有一个数据表加载到我的 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;
}
如何一次访问所有选中的行?
解决方案
推荐阅读
- php - cPanel Forwarders - 将电子邮件传送到 Laravel 应用程序
- kubernetes - 使用 helm 和 tiller 时,Helm 升级失败并出现错误“版本“apps/v1beta2”中的种类“StatefulSet”不匹配”
- php - 在作曲家上安装 Laravel 时出现问题:作曲家基金
- android - 电话和布局中的不同结果
- kubernetes - Calico CNI networkPolicy 不影响节点上运行的 pod
- sql - 如何在 SQLite 中将 int(UNIX 时间戳)转换为 datetime?
- laravel - 服务器上的 Laravel 图片上传问题 - public_path
- spring - Dao 类的 Spring 重试
- kotlin - How to transform this code using a functional approach in the Kotlin programming language
- reactjs - 我正在使用上下文挂钩来添加项目,但我无法删除项目并卡在这里并且不知道如何解决