تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] مساعدة محتاج خبراء ReportViewer
#1
السلام عليكم ورحمة الله


محتاج مساعدة بخصوص ReportViewer

عندي كل شي شغال تمام والحمدالله

بس محتاج خطوه واحده واعتقد ممكن تكون في خيار 
expression
   


عند العرض محتاج دمج النتائج اذا كانت لشخص واحد
   


مثلا في الصورة 
a61m

له ثلاث نتائج اريد احطهم في مربع واحد
   

حاولة اكثر من طريقه ما ضبط معاي

اتمنى احصل حل بارك الله فيكم

هنا المشروع
mailinglabelsreport


وشكرا
الرد }}}
تم الشكر بواسطة:
#2
اتمنى احصل حل بارك الله فيكم
الرد }}}
تم الشكر بواسطة:
#3
هلا  .... .......
الرد }}}
تم الشكر بواسطة:
#4
لم اعمل على هذا النوع من التقارير

ولكن غالبا التقارير لها فكرة واحدة

من ملاحظتي المفروض لا يجب ان تظهر كل واحدة على حدة .
وعليه
يجب ان تستخدم جملة استعلام مع Group by التي تقوم على جمع الاعداد وتصنيفها لكل شخص على حدة .

او هناك تقارير تقوم بالـ  Group by من داخل التقرير لابد وان يكون فيه مجاميع

هنا تجد شرح  كيف تستخدم الـ Group by


كود :
https://www.w3schools.com/sql/sql_groupby.asp

وهنا فيديو لاستخدامها مع نفس هذا العرض الذي تستخدمه

كود :
https://www.youtube.com/watch?v=bno0pCsTHok

وهنا درس أخر من موقع مايكروسوفت

كود :
https://docs.microsoft.com/en-us/sql/reporting-services/lesson-6-adding-grouping-and-totals-reporting-services?view=sql-server-2017
الرد }}}
تم الشكر بواسطة: sendbad100 , dubai.eig
#5
السلام عليكم و رحمة الله و بركاته
تابع   تعديل كود في عرض بيانات من جدولين على ريبورت فيور
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد }}}
تم الشكر بواسطة: sendbad100 , dubai.eig
#6
شكرا لكم بارك الله فيكم

انا حصلت كود يعمل نفس الفكرة بس الكود لي حصلته خاص بي CrystalReport

   



كود :
        Dim index As Integer = 0
            Dim innerIndex As Integer = 0


            Dim listItemsDetail As New List(Of Codes.ItemsDetails)()
            Dim itemSelected As Codes.Items = Nothing

            Dim dsPrint As New Codes.DSPrint()
            Dim report1Row As Codes.DSPrint.tblReport1Row

            If rb1.Checked Then
                Do While index < gvItems.Rows.Count
                    If Convert.ToBoolean(gvItems.Rows(index).Cells("colSelect").Value) Then
                        itemSelected = CType(gvItems.Rows(index).DataBoundItem, Codes.Items)



                        Using entity = New Codes.PrintLabelEntities()
                            listItemsDetail = entity.ItemsDetails.Where(Function(x) x.ItemId = itemSelected.Id).ToList()
                        End Using

                        For Each item As Codes.ItemsDetails In listItemsDetail
                            report1Row = dsPrint.tblReport1.NewtblReport1Row()
                            report1Row.ItemName = itemSelected.Name
                            report1Row.UTS = item.UTC
                            report1Row.X2 = item.X2
                            report1Row.Band = item.Band
                            report1Row.Rst = item.Rst
                            report1Row.Date = item.CreateDate.ToShortDateString()
                            dsPrint.tblReport1.AddtblReport1Row(report1Row)

                        Next item
                    End If

                    index += 1
                Loop


               Dim crystalReport1 As New PrintLabel.Properties.CrystalReport1

                crystalReport1.SetDataSource(dsPrint)
                crystalReport1.Refresh()

                Dim frm As New FrmReportingShow()
                frm.crvMain.ReportSource = crystalReport1

                frm.crvMain.Refresh()
                frm.ShowDialog()
            ElseIf rb2.Checked Then
                Do While index < gvItems.Rows.Count
                    If Convert.ToBoolean(gvItems.Rows(index).Cells("colSelect").Value) Then
                        itemSelected = CType(gvItems.Rows(index).DataBoundItem, Codes.Items)

                        Using entity = New Codes.PrintLabelEntities()
                            listItemsDetail = entity.ItemsDetails.Where(Function(x) x.ItemId = itemSelected.Id).ToList()
                        End Using


                        innerIndex = 0

                        Do While innerIndex < listItemsDetail.Count
                            report1Row = dsPrint.tblReport1.NewtblReport1Row()
                            report1Row.ItemName = itemSelected.Name
                            report1Row.UTS = listItemsDetail(innerIndex).UTC
                            report1Row.X2 = listItemsDetail(innerIndex).X2
                            report1Row.Band = listItemsDetail(innerIndex).Band
                            report1Row.Rst = listItemsDetail(innerIndex).Rst
                            report1Row.Date = listItemsDetail(innerIndex).CreateDate.ToShortDateString()


                            innerIndex += 1

                            If innerIndex < listItemsDetail.Count Then
                                report1Row.UTS1 = listItemsDetail(innerIndex).UTC
                                report1Row.X21 = listItemsDetail(innerIndex).X2
                                report1Row.Band1 = listItemsDetail(innerIndex).Band
                                report1Row.Rst1 = listItemsDetail(innerIndex).Rst
                                report1Row.Date1 = listItemsDetail(innerIndex).CreateDate.ToShortDateString()
                            End If

                            dsPrint.tblReport1.AddtblReport1Row(report1Row)

                            innerIndex += 1
                        Loop

                    End If

                    index += 1
                Loop


               Dim crystalReport3 As New PrintLabel.Properties.CrystalReport3



                crystalReport3.SetDataSource(dsPrint)
                crystalReport3.Refresh()

                Dim frm As New FrmReportingShow()
                frm.crvMain.ReportSource = crystalReport3

                frm.crvMain.Refresh()
                frm.ShowDialog()
            ElseIf rb3.Checked Then
                Do While index < gvItems.Rows.Count
                    If Convert.ToBoolean(gvItems.Rows(index).Cells("colSelect").Value) Then
                        itemSelected = CType(gvItems.Rows(index).DataBoundItem, Codes.Items)

                        Using entity = New Codes.PrintLabelEntities()
                            listItemsDetail = entity.ItemsDetails.Where(Function(x) x.ItemId = itemSelected.Id).ToList()
                        End Using


                        innerIndex = 0

                        Do While innerIndex < listItemsDetail.Count
                            report1Row = dsPrint.tblReport1.NewtblReport1Row()
                            report1Row.ItemName = itemSelected.Name
                            report1Row.UTS = listItemsDetail(innerIndex).UTC
                            report1Row.X2 = listItemsDetail(innerIndex).X2
                            report1Row.Band = listItemsDetail(innerIndex).Band
                            report1Row.Rst = listItemsDetail(innerIndex).Rst
                            report1Row.Date = listItemsDetail(innerIndex).CreateDate.ToShortDateString()


                            innerIndex += 1

                            If innerIndex < listItemsDetail.Count Then
                                report1Row.UTS1 = listItemsDetail(innerIndex).UTC
                                report1Row.X21 = listItemsDetail(innerIndex).X2
                                report1Row.Band1 = listItemsDetail(innerIndex).Band
                                report1Row.Rst1 = listItemsDetail(innerIndex).Rst
                                report1Row.Date1 = listItemsDetail(innerIndex).CreateDate.ToShortDateString()
                            End If

                            innerIndex += 1

                            If innerIndex < listItemsDetail.Count Then
                                report1Row.URS2 = listItemsDetail(innerIndex).UTC
                                report1Row.X22 = listItemsDetail(innerIndex).X2
                                report1Row.Band2 = listItemsDetail(innerIndex).Band
                                report1Row.Rst2 = listItemsDetail(innerIndex).Rst
                                report1Row.Date2 = listItemsDetail(innerIndex).CreateDate.ToShortDateString()
                            End If

                            dsPrint.tblReport1.AddtblReport1Row(report1Row)

                            innerIndex += 1
                        Loop

                    End If

                    index += 1
                Loop


               Dim crystalReport2 As New PrintLabel.Properties.CrystalReport2


                crystalReport2.SetDataSource(dsPrint)
                crystalReport2.Refresh()

                Dim frm As New FrmReportingShow()
                frm.crvMain.ReportSource = crystalReport2

                frm.crvMain.Refresh()
                frm.ShowDialog()
            End If
اذا في مجال نغيرة او نقوم  بعمل بنفس الفكرة
الرد }}}
تم الشكر بواسطة:
#7
الرد }}}
تم الشكر بواسطة: dubai.eig
#8
(08-05-18, 03:08 PM)abomo3ath كتب :


شكرا لك بارك الله فيك 

حاولت بس ما ضبط معاي

ان شاءالله احصل الحل بارك الله فيكم
الرد }}}
تم الشكر بواسطة:
#9
(03-05-18, 09:13 PM)dubai.eig كتب : السلام عليكم ورحمة الله


محتاج مساعدة بخصوص ReportViewer

عندي كل شي شغال تمام والحمدالله

بس محتاج خطوه واحده واعتقد ممكن تكون في خيار 
expression



عند العرض محتاج دمج النتائج اذا كانت لشخص واحد



مثلا في الصورة 
a61m

له ثلاث نتائج اريد احطهم في مربع واحد


حاولة اكثر من طريقه ما ضبط معاي

اتمنى احصل حل بارك الله فيكم

هنا المشروع
mailinglabelsreport


وشكرا


(03-05-18, 09:13 PM)dubai.eig كتب : السلام عليكم ورحمة الله


محتاج مساعدة بخصوص ReportViewer

عندي كل شي شغال تمام والحمدالله

بس محتاج خطوه واحده واعتقد ممكن تكون في خيار 
expression



عند العرض محتاج دمج النتائج اذا كانت لشخص واحد



مثلا في الصورة 
a61m

له ثلاث نتائج اريد احطهم في مربع واحد


حاولة اكثر من طريقه ما ضبط معاي

اتمنى احصل حل بارك الله فيكم

هنا المشروع
mailinglabelsreport


وشكرا


فقط تعال على زر عرض التقرير  وقم بالتعديل على السطر التالى
كود :
Dim adapter As New SQLiteDataAdapter("SELECT * FROM testprent ", SQLiteconnstring)

لتقم بتغيير الجملة دى
كود :
SELECT * FROM testprent

بهذه اجملة
كود :
Select * FROM testprent GROUP BY omcall

وسيعمل معك تمام بدون اى تغيير فى التقرير بالتوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد }}}
#10
(12-05-18, 07:42 PM)elgokr كتب :
(03-05-18, 09:13 PM)dubai.eig كتب : السلام عليكم ورحمة الله


محتاج مساعدة بخصوص ReportViewer

عندي كل شي شغال تمام والحمدالله

بس محتاج خطوه واحده واعتقد ممكن تكون في خيار 
expression



عند العرض محتاج دمج النتائج اذا كانت لشخص واحد



مثلا في الصورة 
a61m

له ثلاث نتائج اريد احطهم في مربع واحد


حاولة اكثر من طريقه ما ضبط معاي

اتمنى احصل حل بارك الله فيكم

هنا المشروع
mailinglabelsreport


وشكرا


(03-05-18, 09:13 PM)dubai.eig كتب : السلام عليكم ورحمة الله


محتاج مساعدة بخصوص ReportViewer

عندي كل شي شغال تمام والحمدالله

بس محتاج خطوه واحده واعتقد ممكن تكون في خيار 
expression



عند العرض محتاج دمج النتائج اذا كانت لشخص واحد



مثلا في الصورة 
a61m

له ثلاث نتائج اريد احطهم في مربع واحد


حاولة اكثر من طريقه ما ضبط معاي

اتمنى احصل حل بارك الله فيكم

هنا المشروع
mailinglabelsreport


وشكرا


فقط تعال على زر عرض التقرير  وقم بالتعديل على السطر التالى
كود :
Dim adapter As New SQLiteDataAdapter("SELECT * FROM testprent ", SQLiteconnstring)

لتقم بتغيير الجملة دى
كود :
SELECT * FROM testprent

بهذه اجملة
كود :
Select * FROM testprent GROUP BY omcall

وسيعمل معك تمام بدون اى تغيير فى التقرير بالتوفيق


شكرا لك

عملت اللي كتبته بس ما ضبط معاي بارك الله فيك
الرد }}}
تم الشكر بواسطة:



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


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