السلام عليكم ورحمة الله
محتاج مساعدة بخصوص ReportViewer
عندي كل شي شغال تمام والحمدالله
بس محتاج خطوه واحده واعتقد ممكن تكون في خيار
expression
[
attachment=17879]
عند العرض محتاج دمج النتائج اذا كانت لشخص واحد
[
attachment=17880]
مثلا في الصورة
a61m
له ثلاث نتائج اريد احطهم في مربع واحد
[
attachment=17881]
حاولة اكثر من طريقه ما ضبط معاي
اتمنى احصل حل بارك الله فيكم
هنا المشروع
mailinglabelsreport
وشكرا
اتمنى احصل حل بارك الله فيكم
لم اعمل على هذا النوع من التقارير
ولكن غالبا التقارير لها فكرة واحدة
من ملاحظتي المفروض لا يجب ان تظهر كل واحدة على حدة .
وعليه
يجب ان تستخدم جملة استعلام مع 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
شكرا لكم بارك الله فيكم
انا حصلت كود يعمل نفس الفكرة بس الكود لي حصلته خاص بي
CrystalReport
[
attachment=17933]
كود :
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
اذا في مجال نغيرة او نقوم بعمل بنفس الفكرة
(08-05-18, 03:08 PM)abomo3ath كتب : [ -> ]
شكرا لك بارك الله فيك
حاولت بس ما ضبط معاي
ان شاءالله احصل الحل بارك الله فيكم
(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
وسيعمل معك تمام بدون اى تغيير فى التقرير بالتوفيق
(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
وسيعمل معك تمام بدون اى تغيير فى التقرير بالتوفيق
شكرا لك
عملت اللي كتبته بس ما ضبط معاي بارك الله فيك