منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
فلترة datagridview بدون قاعدة بيانات - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (https://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (https://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (https://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : فلترة datagridview بدون قاعدة بيانات (/showthread.php?tid=47874)



فلترة datagridview بدون قاعدة بيانات - صالح عبدالله - 02-02-24

السلام عليكم ورحمة الله وبركاته 
سؤالي كيف أقوم بعمل فلترة للبيانات باستخدام الداتاقريد فيو ولا افلتر البيانات من قاعدة البيانات ( يعني استعلام الفلترة من خلال الداتاقريدفيو  فقط ) قمت باستخدام الكود التالي ولكن تظهر عندي أخطاء 
بارك الله فيكم 


  If ComboBox2.Text <> String.Empty Then
                For Each row As DataGridViewRow In DataGridView1.Rows
                    If row.Cells(5).Value.ToString().Trim().Contains(ComboBox2.Text.Trim()) Then
                        row.Visible = True
                    Else
                        row.Visible = False
                    End If
                Next
            End If



RE: فلترة datagridview بدون قاعدة بيانات - Taha Okla - 02-02-24

و عليكم السلام ورحمة الله وبركاته :

فقط استبدل كامل الكود الموجود في مشاركتك بهذا الكود :
كود :
Dim strALL As String = DataGridView1.Columns(5).Name & " Like '*" & (ComboBox2.Text.Trim) & "*'"
TryCast(DataGridView1.DataSource, DataTable).DefaultView.RowFilter = String.Format(strALL)

الـ :
DataGridView1.Columns(5).Name
يمكنك استبدالها باسم العمود للتبسيط
فتصبح مثلاً (في حال اسم الحقل City):
كود :
Dim strALL As String =  " City Like '*" & (ComboBox2.Text.Trim) & "*'"
TryCast(DataGridView1.DataSource, DataTable).DefaultView.RowFilter = String.Format(strALL)



RE: فلترة datagridview بدون قاعدة بيانات - صالح عبدالله - 02-02-24

جزاك الله كل خير أستاذ طه وكتب لك الأجر لما تقدمه لجميع رواد المنتدى شكرا شكرا لك 


RE: فلترة datagridview بدون قاعدة بيانات - صالح عبدالله - 02-02-24

سؤال آخر لو سمحت وآسف لكثرة الأسئلة 
 كيف استطيع ان أعمل تقرير للبيانات في الكريستال ريبورت مع العلم أن البيانات في الداتاقريدفيو ليس لها قاعدة بيانات ( عمل تقرير كريستال ريبورت من الداتاقريدفيو مباشرة ) 

السلام عليكم ورحمة الله وبركاته 
تم حل المشكلة الأخيرة بإستخدام الكود التالي لعل أحد الإخوة يستفيد منه 
     Dim dt2 As New DataTable

        dt2.Columns.Add("Student_Num", GetType(String))

        dt2.Columns.Add("Student_Name", GetType(String))


        For Each row As DataGridViewRow In DataGridView1.Rows


            dt2.Rows.Add(row.Cells(1).Value, (row.Cells(2).Value))

        Next


        Dim cr2 As New CrystalReport1

        cr2.SetDataSource(dt2)


        Dim r2 As New Form6

        'Form25.FormBorderStyle = Windows.Forms.FormBorderStyle.None

        r2.CrystalReportViewer1.Zoom(300%)

        r2.CrystalReportViewer1.ReportSource = cr2

        r2.ShowDialog()