تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] كيف يتم اخفاء واظهار عمود عند عرض تقرير كريستال ريبورت اثناء التشغيل
#1
كيف يتم  اخفاء  واظهار عمود  عند عرض تقرير كريستال ريبورت  اثناء التشغيل   

من خلال الكود بالفيجوال بيسك
الرد }}}
تم الشكر بواسطة:
#2
السلام وعليكم اخي السيد الجوهري 

بلنسبة للطباعة بشي محدد عن طريق تشك بوكس كما موضح بلصورة  ولكن 

الفكرة هي كلآتي طبعا نقوم بانشاء جملة select عن الكود يعني هكذا من داتا ست 


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

الجملة بتكون كلآتي 
select customer cod,first name From datatable 

هكذا يكون ولكن للعلم في حالة حضرتك مدخل بتصميم اعمدة وصفوف يعني على شكل جدول يخفي 
العمود اي المعلومات ولا يخفي الجدول اي العمود بكون فاضي أتمنى وصلتك الفكرة  

طبعا راح ايكون في function بضيفو في الكود هي مثلا ان شاء الله راح يساعدك طبعا في تغييرات لازم ايكون 
كود :
Private Function CreateSelectQueryAndParameters() As String
           Dim reportDocument As ReportDocument
           Dim paramFields As ParameterFields
           Dim paramField As ParameterField
           Dim paramDiscreteValue As ParameterDiscreteValue
           reportDocument = New ReportDocument()
           paramFields = New ParameterFields()
           Dim query As String = "SELECT "
           Dim columnNo As Integer = 0
           If chbCode.Checked Then
               columnNo += 1
               query = query.Insert(query.Length, "Code as Column" & columnNo.ToString())
               paramField = New ParameterField()
               paramField.Name = "col" & columnNo.ToString()
               paramDiscreteValue = New ParameterDiscreteValue()
               paramDiscreteValue.Value = "Customer Code"
               paramField.CurrentValues.Add(paramDiscreteValue)
               paramFields.Add(paramField)
           End If

           If chbFirstName.Checked Then
               columnNo += 1
               If query.Contains("Column") Then
                   query = query.Insert(query.Length, ", ")
               End If

               query = query.Insert(query.Length, "FirstName as Column" & columnNo.ToString())
               paramField = New ParameterField()
               paramField.Name = "col" & columnNo.ToString()
               paramDiscreteValue = New ParameterDiscreteValue()
               paramDiscreteValue.Value = "First Name"
               paramField.CurrentValues.Add(paramDiscreteValue)
               paramFields.Add(paramField)
           End If

           If chbLastName.Checked Then
               columnNo += 1
               If query.Contains("Column") Then
                   query = query.Insert(query.Length, ", ")
               End If

               query = query.Insert(query.Length, "LastName as Column" & columnNo.ToString())
               paramField = New ParameterField()
               paramField.Name = "col" & columnNo.ToString()
               paramDiscreteValue = New ParameterDiscreteValue()
               paramDiscreteValue.Value = "Last Name"
               paramField.CurrentValues.Add(paramDiscreteValue)
               paramFields.Add(paramField)
           End If

           If chbAddress.Checked Then
               columnNo += 1
               If query.Contains("Column") Then
                   query = query.Insert(query.Length, ", ")
               End If

               query = query.Insert(query.Length, "Address as Column" & columnNo.ToString())
               paramField = New ParameterField()
               paramField.Name = "col" & columnNo.ToString()
               paramDiscreteValue = New ParameterDiscreteValue()
               paramDiscreteValue.Value = "Address"
               paramField.CurrentValues.Add(paramDiscreteValue)
               paramFields.Add(paramField)
           End If

           If chbPhone.Checked Then
               columnNo += 1
               If query.Contains("Column") Then
                   query = query.Insert(query.Length, ", ")
               End If

               query = query.Insert(query.Length, "Phone as Column" & columnNo.ToString())
               paramField = New ParameterField()
               paramField.Name = "col" & columnNo.ToString()
               paramDiscreteValue = New ParameterDiscreteValue()
               paramDiscreteValue.Value = "Phone"
               paramField.CurrentValues.Add(paramDiscreteValue)
               paramFields.Add(paramField)
           End If

           For i As Integer = columnNo To 5 - 1
               columnNo += 1
               paramField = New ParameterField()
               paramField.Name = "col" & columnNo.ToString()
               paramDiscreteValue = New ParameterDiscreteValue()
               paramDiscreteValue.Value = ""
               paramField.CurrentValues.Add(paramDiscreteValue)
               paramFields.Add(paramField)
           Next

           crystalReportViewer1.ParameterFieldInfo = paramFields
           query += " FROM Customer"
           Return query
       End Function

الصورة بلنسبة للمحتوى


الملفات المرفقة صورة/صور
       
الرد }}}
تم الشكر بواسطة:



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


يقوم بقرائة الموضوع: