[英]Export DataGridView SelectedRows to a DataTable
我想將DataGridView
多個選定行傳輸到DataTable
然后將其設置為我的Crystal報表的數據源。
首先,我通過存儲過程加載來自數據庫的所有數據。
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
當我選擇EMP-000014和EMP-0000015行時。
我希望crystalreport查看器將列出它,但是它顯示EMP-000013和EMP-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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.