تنفع لكن تمرير باراميتر واحد يختلف عن تمرير كولكشن او مصفوفة
كأن اخذ مثلا محتوى DataTable بالكامل الى التقرير ك Parameter الامر
ممل وحاولت فيه بس ما نفع فكل اللي سويته امرر باراميتر لفلترة بيانات جدول الداتا في التقرير
بما انك على السي شارب
في الصفحة الاولى لاحظ تحت البوتن
PHP كود :
Session["result"] = TextBox1.Text;
فما هتفرق اظهرت النتيجة في الصفحة الاولى ام لا المهم أحمل ال السيشن بقيمة تروح للصفحة الثانية
في الصفحة الثانية في الحدث لود
PHP كود :
protected void Page_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
this.Title = Session["result"].ToString();
dt.Reset();
// Try
using (OleDbConnection con = new OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0; data source=|datadirectory|\\Co.accdb"))
{
con.Open();
using (OleDbCommand rs = new OleDbCommand("SELECT Eng, Ar, ID FROM Dic WHERE Ar LIKE '%" + Session["result"].ToString() + "%' OR Eng LIKE '%" + Session["result"].ToString() + "%';", con))
{
dt.Load(rs.ExecuteReader ());
con.Close();
}
if (!IsPostBack)
{
Microsoft.Reporting.WebForms.ReportParameter ps = new Microsoft.Reporting.WebForms.ReportParameter("Myps", Session["result"].ToString()) ;
this.ReportViewer1.LocalReport.SetParameters(ps);
ReportDataSource MyDataSource = new ReportDataSource("DataSet1", dt);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(MyDataSource);
ReportViewer1.ServerReport.Refresh();
}
}}
اخذت القيمة من السيشن عادي وفلترت البيانات من الجدول ووضعتها في DataTable
وبعدين ارسلتها مفلترة جاهزة للتقرير
PHP كود :
ReportDataSource MyDataSource = new ReportDataSource("DataSet1", dt);
خلاص مهمة الداتا ست في التقرير الالتزام بالقيم الموجودة في الداتا تيبل
لكن فكرتك ما جربتها كوني افلتر في الداتا ست ما ادري اذا تضبط أو لا فاستخدامي للداتا ست فقط حتى اتمكن من تصميم الحقول في التقرير فقط.