簡體   English   中英

將DataGridView SelectedRows導出到DataTable

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM