اريد المساعدة فى FilterString
انا عندى تقرير اسمه BookReport من نوع DevExpressReport و صممته و كله تمام.
و عندى form اسمها BRPreview من نوع DevExpressForm واضافة فيها DocumentViewer1 و Panel1
DocumentViewer1 ربطها ب BookReport عن طريق Document Source
تم أضافة button1 و textbox1 ل Panel1
اريد المساعدة فى اضافة كود ل button1 بحيث يتم عملية الفلتر للبيانات التى تساوى قيمها القيمة فى textbox1
اخي الحبيب اتبع الخطوات التاليه لتنفيذ تقرير بطريقه صحيحه
قم باضافة فورمه جديده و عليها تكست بوكس و باتون كما بالشكل التالي
قم باضافة داتا سيت جديده و بعد ما بتفتح لك قم بعمل كلك يمين و قم باضافة تيبول ادبتور
ثم تحدد قاعدة بياناتك و حدد جملة استعلام للجدول اللي هتعرض منه البيانات كما بالصوره كمثال
طبعا لاحظ شكل الداتا سيت بعد اضافة الجدول بها لاحظ
- نعمل Save الان ثم
-قم باضافة تقرير ديف اكسبريس
و حدد له الداتا سورس السابقه كما بالصوره
- ثم قم باظهار الحقول كما بالصوره
- حيث تظهر لك هذه القائمه و بها الجدول و الحقول
- قم بتحديد كل هذه الحقول و اعمل سحب ليها علي التقرير نفسه
في قسم Details بالتقرير لاحظ
ثم قم باضافة ليبولات من صندوق الادوات و اعلي كل حقل بالتقرير قم بتسميته ليصبح التقرير هكذا
ثم قم بعمل Save
الان بالنافذه السابقه قم باستدعاء النيم اسبيس التاليه
ثم بالباتون بحدث الكلك قم بكتابة الاكواد التاليه
الان نقوم بالتشغيل و ندخل رقم موظف بالتكست بوكس ثم نضغط علي الباتون
لاحظ تم عرض التقرير بدلالة رقم كود الموظف فقط
[
attachment=12893]
الف شكر لحضرتك على تعبك معايا
ليا طلب تانى لو ينفع تساعدى اكون شكر لحضرتك
عاوز اضيف combobox مع Textbox يكون بامكانى اختار الحقل التى اريد اجراء عملية الفلترة FilterString
الكود اللى استخدمته كالتالى ................هو محتاج بعض المساعدة
PHP كود :
Imports DevExpress.XtraReports.UI
Imports DevExpress.XtraReports.Parameters
Imports DevExpress.XtraEditors
Public Class BookingReportFor
Private Sub ButtonX1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ButtonX1.Click
Dim report As New XtraReport1
Dim comboindex As Byte = ComboBoxEx1.SelectedIndex
Dim comboindex2 As Byte = ComboBoxEx2.SelectedIndex
Dim comboString As String
Dim comboString2 As String
Dim param1 As New Parameter()
param1.Name = "Total"
Select Case comboindex
Case 0
comboString = "[BookID]"
If String.IsNullOrWhiteSpace(TextBoxX1.Text) Or Not IsNumeric(TextBoxX1.Text) Then
MsgBox("القيمة التى قمت بادخالها غير صحيحة!")
Exit Sub
End If
param1.Type = GetType(System.Decimal)
Case 1
comboString = "[BookDay]"
If String.IsNullOrWhiteSpace(TextBoxX1.Text) Or Not IsDate(TextBoxX1.Text) Then
MsgBox("القيمة التى قمت بادخالها غير صحيحة!")
Exit Sub
End If
param1.Type = GetType(System.DateTime)
Case 2
comboString = "[BookValue]"
If String.IsNullOrWhiteSpace(TextBoxX1.Text) Or Not IsNumeric(TextBoxX1.Text) Then
MsgBox("القيمة التى قمت بادخالها غير صحيحة!")
Exit Sub
End If
param1.Type = GetType(System.Decimal)
Case 3
comboString = "[SerValue]"
If String.IsNullOrWhiteSpace(TextBoxX1.Text) Or Not IsNumeric(TextBoxX1.Text) Then
MsgBox("القيمة التى قمت بادخالها غير صحيحة!")
Exit Sub
End If
param1.Type = GetType(System.Decimal)
Case 4
comboString = "[DownValue]"
If String.IsNullOrWhiteSpace(TextBoxX1.Text) Or Not IsNumeric(TextBoxX1.Text) Then
MsgBox("القيمة التى قمت بادخالها غير صحيحة!")
Exit Sub
End If
param1.Type = GetType(System.Decimal)
Case 5
comboString = "[Total]"
If String.IsNullOrWhiteSpace(TextBoxX1.Text) Or Not IsNumeric(TextBoxX1.Text) Then
MsgBox("القيمة التى قمت بادخالها غير صحيحة!")
Exit Sub
End If
param1.Type = GetType(System.Decimal)
End Select
param1.Value = TextBoxX1.Text
param1.Description = "Total: "
param1.Visible = True
Select Case comboindex2
Case 0
comboString2 = " > "
Case 1
comboString2 = " >= "
Case 2
comboString2 = " < "
Case 3
comboString2 = " <= "
Case 4
comboString2 = " = "
End Select
report.Parameters.Add(param1)
report.FilterString = comboString & comboString2 & "[Parameters.Total]"
report.RequestParameters = False
Dim pt As New ReportPrintTool(report)
pt.AutoShowParametersPanel = False
pt.ShowPreviewDialog()
End Sub
End Class
بالنسبه لاجابة سؤالك الثاني و هو اضافة كمبو بوكس بها اسماء الحقول بحيث يتم اختيار حقل و يتم ادخال قيمه بالتكست و بناءا عليه يتم فلترة البيانات و عرضها بالجريد
نفس الكود السابق الذي بالباتون يتم اضافه بسيطه و هي
لاحظ تم عمل متغير نصي بيساوي قيمة الكمبوا بوكس يعني اسم الحقل كما المحدد بالكمبو بوكس
ثم المتغير بيساوي نفسه باضافة قيمة البرامتر كما هو محدد
بعد ذلك يتم تحديد المتغير بحيث يتم عمل الفلترة عليه
اوكي
لاحظ المثال هنا توجد مجموعة سجلات بالجدول
و ركز علي الحقل رقم 7 انا هنسخ اسمه و احدد الحقل LastName بحيث فيما بعد هبحث بدلالته
طيب
هنا الفورمه تم اضافة كمبوا بوكس و تم اضافة عناصر باسماء الحقول اللي هبحث بيها
-طيب انا هحدد الحقل LastName من الكمبوا و هدخل الاسم السابق بالتكست
اوكي المفروض اول ما اضغط علي الباتون يظهر لي السجل الخاص بهذا الاسم بالتقرير
لاحظ بعد الضغط علي الباتون عرض لي السجل بالتقرير
- طب نبحث بدلالة اسم وظيفه معينه و نحدد حقل ال Job لاحظ
- لاحظ الان بالتقرير عرض كل السجلات اللي الوظيفه فيها كما هي مكتوبه بالتكست
- و شكرا
شكرأ جزيلا باشمهندس عاطف على تعبك معايا
باشمهندس / عاطف
السلام عليكم ورحمة الله وبركاته
هذا الشرح على الإصدار رقم 16 من الديف اكسبريس
نرجو إعادة شرح الحلقات والدروس على الإصدار الجديد رقم 20 وما بعدها من الديف اكسبريس ولكم جزيل الشكر والتقدير
أخوكم / حمدى عبد الحى
elwaddaly@gmail.com