تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
طلب كود لربط Reportviewerباكثر من تقرير حسب شرط معين
#1
السلام عليكم اساتذتنا الكرام في منتدانا الكبير وأخص منهم الاستاذ أبو ليلى والاستاذ أبو عمر ولا يهونون الاعضاء المحترمون الاخرون
لدي قاعدة بيانات تحوي جدول واحد بأسم Tab1 يخص طلاب المدرسة فيه عدة حقول وكالاتي:,ID,StName,Class,As1,As2,Ar1,Ar2
حيث As1,As2 درجات ماده التربية الاسلامية و Ar1,Ar2 درجات مادة العربي
اريد ان اظهر درجات الاسلامية في تقرير ودرجات العربي في تقرير اخر
تمكنت بفضل الله ومساعدة الاخوين أبو ليلى وأبو عمر من عمل المطلوب ولكن بالصيغة التاليه::: عملت اكثر من Reportviewer وكل واحد ربطته بتقرير فصار عدد التقارير كثير وعدد Reportviewe كثير سؤالي:
هل هناك طريقة لربط كل هذه التقارير ب Reportviewer واحد او ان اجعل التقرير الواحد في كل مرة تختلف الحقول التي يعرضها أعتمادا على شرط معين
أسف للاطالة شكري وتقديري للجميع وفقكم الله.
 


الملفات المرفقة صورة/صور
   
الرد
تم الشكر بواسطة:
#2
غفر الله لنا ولك
نعم تستطيع عرض كافة التقارير لديك في اداة واحدة وتكتفي فقط بتعريفات التالي
1- الداتا ست لكل تقرير لديك وجعله مصدر للبيانات مع اسم الجدول او الداتا تيبل في التقرير
2- تعريف مسار ملف التقرير
كالاتي:
PHP كود :
public MainWindow()
        {
            
InitializeComponent();
            
DataTable dt = new DataTable();
            
dt.Columns.Add(new DataColumn("ID"typeof(int)));
            
dt.Columns.Add(new DataColumn("Name"typeof(string)));
            
dt.Columns.Add(new DataColumn("City"typeof(string)));
            
dt.Columns.Add(new DataColumn("OrderAmount"typeof(int)));

            
DataRow dr dt.NewRow();
            
dr["ID"] = 1;
            
dr["Name"] = "CK Nitin";
            
dr["City"] = "New York";
            
dr["OrderAmount"] = 100;
            
dt.Rows.Add(dr);

            
ReportDataSource datasource = new ReportDataSource("DataSet1"dt);
      
            
this._reportViewer.LocalReport.DataSources.Clear();
            
this._reportViewer.LocalReport.DataSources.Add(datasource);

            
this._reportViewer.LocalReport.ReportPath Application.StartupPath " \Report1.rdlc");
            
_reportViewer.RefreshReport();
 
// Path of the rdlc file
           
this._reportViewer.RefreshReport();
 
        } 
واعذرني على قل الاجتهاد في الاجابة
ولمزيد من المعرفة حول التعامل مع هذه الاداة تابع اجابة الاخ الطلب
http://vb4arb.com/vb/thread-13061-post-6...l#pid61851
وانظر ايضا في نفش هذه الصفحة لمجموعة المواضيع المحتمل ان تكون مشابهة لطلبك
بالتوفيق
سبحان الله والحمدلله ولا إله إلا الله والله أكبر
 اللهم اغْفِرْ لِلمؤمنين والمؤمنات والمسلمين والمسلمات الأحياء منهم والأموات
الرد
تم الشكر بواسطة: haiderkh , ممدوح
#3
(19-09-16, 05:28 PM)أبو عمر كتب : غفر الله لنا ولك
نعم تستطيع عرض كافة التقارير لديك في اداة واحدة وتكتفي فقط بتعريفات التالي
1- الداتا ست لكل تقرير لديك وجعله مصدر للبيانات مع اسم الجدول او الداتا تيبل في التقرير
2- تعريف مسار ملف التقرير
كالاتي:
PHP كود :
public MainWindow()
 
       {
 
           InitializeComponent();
 
           DataTable dt = new DataTable();
 
           dt.Columns.Add(new DataColumn("ID"typeof(int)));
 
           dt.Columns.Add(new DataColumn("Name"typeof(string)));
 
           dt.Columns.Add(new DataColumn("City"typeof(string)));
 
           dt.Columns.Add(new DataColumn("OrderAmount"typeof(int)));

 
           DataRow dr dt.NewRow();
 
           dr["ID"] = 1;
 
           dr["Name"] = "CK Nitin";
 
           dr["City"] = "New York";
 
           dr["OrderAmount"] = 100;
 
           dt.Rows.Add(dr);

 
           ReportDataSource datasource = new ReportDataSource("DataSet1"dt);
 
     
            this
._reportViewer.LocalReport.DataSources.Clear();
 
           this._reportViewer.LocalReport.DataSources.Add(datasource);

 
           this._reportViewer.LocalReport.ReportPath Application.StartupPath " \Report1.rdlc");
 
           _reportViewer.RefreshReport();
 
// Path of the rdlc file
 
          this._reportViewer.RefreshReport();
 
 
       
واعذرني على قل الاجتهاد في الاجابة
ولمزيد من المعرفة حول التعامل مع هذه الاداة تابع اجابة الاخ الطلب
http://vb4arb.com/vb/thread-13061-post-6...l#pid61851
وانظر ايضا في نفش هذه الصفحة لمجموعة المواضيع المحتمل ان تكون مشابهة لطلبك
بالتوفيق

اجتهدت كثيرا اخي الكريم ولست مقلا بارك الله بك
الرد
تم الشكر بواسطة: أبو عمر
#4
هل من حلول اخرى سادتي
الرد
تم الشكر بواسطة:
#5
إذا كنت تريد ربط ReportViewer واحد عن طريق الكود بأي تقرير موجود بالمشروع استخدم الكود التالي
كما تلاحظ اسم التقرير هو من نوع نصي ويكتب كامل مع نوعه rdlc.
وبهذه الطريقة تستطيع تغيير اسم التقرير المراد ربطه بالكود بسهولة.
كود :
Me.ReportViewer1.LocalReport.ReportEmbeddedResource = Me.GetType().Namespace & "." & "Report1.rdlc"
Me.ReportViewer1.RefreshReport()
كود :
Me.ReportViewer1.LocalReport.ReportEmbeddedResource = Me.GetType().Namespace & "." & "Report2.rdlc"
Me.ReportViewer1.RefreshReport()

مع ضرورة تنفيذ RefreshReport بعد الربط مباشرة.
الرد
تم الشكر بواسطة: haiderkh


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل البرنامج له عدد معين من الفورم Emam emam 10 175 19-02-19, 07:09 PM
آخر رد: حريف برمجة
  [VB.NET] استبدال رمز معين بسطر جديد waelalmsry75 2 72 07-02-19, 02:57 PM
آخر رد: waelalmsry75
  مساعده بخصوص تقرير report viewer ahmed.max1 3 109 22-01-19, 12:43 AM
آخر رد: elgokr
  مساعدة فى انشاء تقرير atef_020 12 359 20-01-19, 06:46 PM
آخر رد: atef_020
  [سؤال] طباعة تقرير بالريبورتير فيو اسامه الهرماوي 7 257 31-12-18, 02:24 AM
آخر رد: اسامه الهرماوي
  محتاج مساعدة فى حظر لينك معين من الويب بروزر Mohamed Magdy 1 100 18-12-18, 03:16 AM
آخر رد: elgokr
  استفسار عن كود تلوين صف معين بناءًا على تحقق شرط بخلية في الداتاجريدفيو Hazem1 9 374 14-12-18, 02:31 PM
آخر رد: عبدالله الدوسري
  تقرير كريستل ريبورت يطلب كلمة المرور علي جهاز العميل makky 1 168 10-12-18, 11:59 PM
آخر رد: ahmadpal
Heart انشاء تقرير كريستال ريبورت ahmadpal 2 188 03-12-18, 05:54 PM
آخر رد: ahmadpal
  اجراء معين في وقت معين ؟ lamisabdulamir 1 162 14-11-18, 01:58 AM
آخر رد: عبد العزيز البسكري

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم