导出DataGridView SelectedRows到一个数据表
本文关键字:一个 数据表 DataGridView SelectedRows 导出 | 更新日期: 2023-09-27 18:08:31
我想将DataGridView
的多个选定行转移到DataTable
,然后将其设置为我的晶体报告的数据源。
首先,我通过一个存储过程加载数据库中的所有数据。
dataGridView1.DataSource = clsPayroll.view_Employee();
然后我把下面的代码放在打印选中按钮中,这里不限制多选。
foreach(DataGridViewColumn column in dataGridView1.Columns)
table.Columns.Add(column.Name, typeof(string));
for (int i = 0; i < dataGridView1.SelectedRows.Count; i++) {
table.Rows.Add();
for (int j = 0; j < dataGridView1.Columns.Count; j++) {
table.Rows[i][j] = dataGridView1[j, i].Value;
}
}
rpt.SetDataSource(table);
我的数据库中有一些条目:
EMP_ID Emp_Name Gender
EMP-000013 Dummy Male
EMP-000014 Teresa Female
EMP-000015 Dutcry Male
当我选择ep -000014和ep -0000015行时。
我希望crystalreport查看器会列出它,但是它显示的是ep -000013和ep -000014
感谢那些张贴答案的人,我很抱歉没有更新我是否已经修复了它。
我能够弄清楚为什么我的代码不像以前那样工作了。
而不是从datagridview获取数据,我应该使用datagridview。selectedrows。
下面是代码
foreach(DataGridViewColumn column in dataGridView1.Columns)
table.Columns.Add(column.Name, typeof(string));
for (int i = 0; i < dataGridView1.SelectedRows.Count; i++) {
table.Rows.Add();
for (int j = 0; j < dataGridView1.Columns.Count; j++) {
table.Rows[i][j] = dataGridView1.SelectedRows[i].Cells[j].Value;
}
}
rpt.SetDataSource(table);