我想将function uploadFiles(files, userId, projectId, successCallback, progressCallback) {
if (files && files.length) {
var uploads = [];
for (var i = 0; i < files.length; i++) {
var file = files[i];
if (!file.$error) {
var upload = Upload.upload({
url: 'api/fileuploads/fileupload/' + userId + '/' + projectId,
data: {
file: file
}
}).then(function (resp) {
if (successCallback) {
successCallback(resp);
}
}, null, function (evt) {
var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
var log = 'progress: ' + progressPercentage + '% ' + evt.config.data.file.name + '\n';
if (progressCallback) {
progressCallback(log);
}
});
uploads.push(upload);
}
}
Promise.all(uploads).then(function(values){});
}
};
的多个选定行转移到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-000014和EMP-0000015时。
我希望crystalreport viewer会列出它,但它会显示EMP-000013和EMP-000014
答案 0 :(得分:0)
感谢那些发布答案的人,我很抱歉不更新我是否已经修复过。
我能够弄清楚为什么我的代码不像过去那样工作。
我应该使用datagridview.selectedrows而不是从datagridview中获取数据。
这是代码
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);