تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[ تمّ الحل ] : إخفاء ال Text Object من صفحة الكريستال ريبورت
#1
السّلام عليكم و رحمة الله و بركاته
إخواني و أساتذتي الأفاضل ..
لديّ مجموعة من التاكسات بوكس .. التي أقوم بتمرير قيمها إلى صفحة الكريستال ريبورت
أحيانا .. تكون بعض التاكسات بوكس فارغة
كيف يمكن أقوم بإخفاء ال Text Object الخاصة بالكريستال ريبورت عندما تكون التاكست بوكس قيمتها فارغة
بالمعنى أثناء الطباعة  .. الفورميلا بهذا المفهوم :
كود :
If TextBox1.Text = "" Then textobject1.visible = False Else True

تحياتي للجميع
الرد
تم الشكر بواسطة:
#2
(23-02-20, 10:30 PM)عبد العزيز البسكري كتب :
السّلام عليكم و رحمة الله و بركاته
إخواني و أساتذتي الأفاضل ..
لديّ مجموعة من التاكسات بوكس .. التي أقوم بتمرير قيمها إلى صفحة الكريستال ريبورت
أحيانا .. تكون بعض التاكسات بوكس فارغة
كيف يمكن أقوم بإخفاء ال Text Object الخاصة بالكريستال ريبورت عندما تكون التاكست بوكس قيمتها فارغة
بالمعنى أثناء الطباعة .. الفورميلا بهذا المفهوم :
كود :
If TextBox1.Text = "" Then textobject1.visible = False Else True

تحياتي للجميع

بعد تعريف TextObject بنفس طريقتك في الموضوع السابق يكون اخفائه بالكود
كود :
Text1.ObjectFormat.EnableSuppress = True
الرد
#3
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك و جزاك خير الجزاء أخي الكريم السلموني على المساعدة
الرجاء فضل و ليس أمر .. تطبيق ما ذكرته بهذا المثال لأني فعلا لم أستوعب الفكرة
فقط للتوضيح : التقرير ليس له أي علاقة بقاعدة البيانات
بارك الله فيك

السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك و جزاك خير الجزاء و أنعم عليك بطيبات الدنيا و الآخرة و أحسن إليك أخي الغالي السلموني
وجع دماغ .. وانزاح بفضل الله ثم بفضلك
لأني بحثت بكل مكان و لم أجد الحل و ها قد جاء الفرج بفضل من الله و منك
تم تطبيق ما ذكرته بنجاح و إيجاد الكيفية و الحمد لله
إذا ارتأيت أي تعديلات أخي الغالي .. أخبرني لو سمحت
كود :
Public Class Form1

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

       Dim Rpt As New Crystal1


       If TextBox1.Text = "" Then Rpt.ReportDefinition.Sections("Section2").ReportObjects("Text1").ObjectFormat.EnableSuppress = True
       If TextBox2.Text = "" Then Rpt.ReportDefinition.Sections("Section2").ReportObjects("Text2").ObjectFormat.EnableSuppress = True
       If TextBox3.Text = "" Then Rpt.ReportDefinition.Sections("Section2").ReportObjects("Text3").ObjectFormat.EnableSuppress = True

       Dim TextObject1 As CrystalDecisions.CrystalReports.Engine.TextObject = Rpt.ReportDefinition.Sections("Section2").ReportObjects("Text1")
       TextObject1.Text = Me.TextBox1.Text

       Dim TextObject2 As CrystalDecisions.CrystalReports.Engine.TextObject = Rpt.ReportDefinition.Sections("Section2").ReportObjects("Text2")
       TextObject2.Text = Me.TextBox2.Text

       Dim TextObject3 As CrystalDecisions.CrystalReports.Engine.TextObject = Rpt.ReportDefinition.Sections("Section2").ReportObjects("Text3")
       TextObject3.Text = Me.TextBox3.Text

       Dim Frm As New Form2
       Frm.CrystalReportViewer1.ReportSource = Rpt
       Frm.CrystalReportViewer1.Zoom(100%)
       Frm.CrystalReportViewer1.Refresh()
       Frm.ShowDialog()

   End Sub
End Class

تحياتي وتقييماتي
الرد
تم الشكر بواسطة: asemshahen5
#4
(23-02-20, 11:45 PM)عبد العزيز البسكري كتب :
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك و جزاك خير الجزاء أخي الكريم السلموني على المساعدة
الرجاء فضل و ليس أمر .. تطبيق ما ذكرته بهذا المثال لأني فعلا لم أستوعب الفكرة
فقط للتوضيح : التقرير ليس له أي علاقة بقاعدة البيانات
بارك الله فيك

اقصد عندما عرفته بهذا الكود في موضوعك السابق تستطيع بعده ان تضع ما ذكرته لك في الشرط If حسب ما تريد
كود :
Dim Text1 As CrystalDecisions.CrystalReports.Engine.TextObject = Rpt.Section2.ReportObjects("Text1")

جرب ما ذكرته لك ريثما انظر في المثال الذي في مرفقات ردك السابق

لم اجد المرفقات، يبدو انها حذفت
الرد
تم الشكر بواسطة: asemshahen5
#5
تفضّل أخي الكريم .. الملف بالمرفقات و به التعديلات الجديدة
فقط لو سمحت .. هل من الممكن يكون لديك إختصار للكود أفضل
بارك الله فيك


الملفات المرفقة
.rar   إخفاء التاكسات من صفحة الكريستال ريبورت.rar (الحجم : 127.39 ك ب / التحميلات : 60)
الرد
تم الشكر بواسطة: asemshahen5
#6
(24-02-20, 12:05 AM)عبد العزيز البسكري كتب :
تفضّل أخي الكريم .. الملف بالمرفقات و به التعديلات الجديدة
فقط لو سمحت .. هل من الممكن يكون لديك إختصار للكود أفضل

هذا ما يمكنني من اختصاره
كود :
Imports CrystalDecisions.CrystalReports.Engine

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim Rpt As New Crystal1

        Dim TextObject1 As TextObject = Rpt.Section2.ReportObjects("Text1")
        TextObject1.Text = Me.TextBox1.Text
        If TextBox1.Text = "" Then
            TextObject1.ObjectFormat.EnableSuppress = True
        Else
            TextObject1.ObjectFormat.EnableSuppress = False
        End If

        Dim TextObject2 As TextObject = Rpt.Section2.ReportObjects("Text2")
        TextObject2.Text = Me.TextBox2.Text
        If TextBox2.Text = "" Then
            TextObject2.ObjectFormat.EnableSuppress = True
        Else
            TextObject2.ObjectFormat.EnableSuppress = False
        End If

        Dim TextObject3 As TextObject = Rpt.Section2.ReportObjects("Text3")
        TextObject3.Text = Me.TextBox3.Text
        If TextBox3.Text = "" Then
            TextObject3.ObjectFormat.EnableSuppress = True
        Else
            TextObject3.ObjectFormat.EnableSuppress = False
        End If

        Dim Frm As New Form2
        Frm.CrystalReportViewer1.ReportSource = Rpt
        Frm.CrystalReportViewer1.ToolPanelView = CrystalDecisions.Windows.Forms.ToolPanelViewType.None
        Frm.CrystalReportViewer1.Zoom(2)
        Frm.ShowDialog()

    End Sub

End Class

لا تحتاج Refresh في CrystalReportViewer مثل ReportViewer
الرد
#7
فعلا قمّة الروعة ..
طريقتك و مساعدتك القيّمة سهّلت عليَّ الأمور كثيرا
بارك الله فيك و جزاك خير الجزاء
تحياتي واحتراماتي
الرد
تم الشكر بواسطة: asemshahen5
#8
(24-02-20, 12:33 AM)عبد العزيز البسكري كتب :
فعلا قمّة الروعة ..
طريقتك و مساعدتك القيّمة سهّلت عليَّ الأمور كثيرا
بارك الله فيك و جزاك خير الجزاء
تحياتي واحتراماتي

العفو اخي
الرد
تم الشكر بواسطة: عبد العزيز البسكري , asemshahen5



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


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