[英]How to add datasource to the local rdlc report dynamically?
我是Windows桌面應用程序開發的新手。
我有一個包含報表查看器控件的表單。 一個包含報告設計的.rdlc文件。
我的問題是我想動態綁定報表的數據源。
我的代碼 :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.Data.OleDb;
namespace WindowsFormsApplication3{
public partial class Form1 : Form{
OleDbConnection cn;
OleDbCommand cmd;
OleDbDataAdapter da;
DataSet ds;
public Form1(){
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e){
cn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\Bill\\dbBill.accdb");
string query = "Select * from BillMaster where BillNo=1";
cn.Open();
cmd = new OleDbCommand(query, cn);
da = new OleDbDataAdapter(cmd);
ds = new DataSet();
da.Fill(ds);
cn.Close();
}
}
}
我想將ds
綁定到我的報告。
報告文件還包含表格和一些顯示數據的文本框。
怎么做? 以及如何將數據綁定到.rdlc
文件中的文本框? 我進行了很多搜索,但僅找到ASP.net的解決方案。
如何在桌面應用程序中實現此目的。
請幫忙。
提前致謝。
請看這篇文章 :
void LocalReport_SubreportProcessing(
object sender,
Microsoft.Reporting.WebForms.SubreportProcessingEventArgs e)
{
// get empID from the parameters
int iEmpID = Convert.ToInt32(e.Parameters[0].Values[0]);
// remove all previously attached Datasources, since we want to attach a
// new one
e.DataSources.Clear();
// Retrieve employeeFamily list based on EmpID
var employeeFamily = CpReportCustomData.Data.CustomDS.GetAllEmployeeFamily()
.FindAll(element => element.ID == iEmpID);
// add retrieved dataset or you can call it list to data source
e.DataSources.Add(new Microsoft.Reporting.WebForms.ReportDataSource()
{
Name = "DSEmployeeFamily",
Value = employeeFamily
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.