السلام عليكم ورحمة الله وبركاته
كيفكم أساتذتي وإخواني ...
عندي داتا قريد فيو ... أريد عمل فلترة للبيانات التي فيها .. بعيداً عن الداتاسيت ( مصدر القريد ) .. هل يمكن ذلك ...
وإذا لم يمكن هذا ... فهذا كود تعبئة القريد لمساعدتي في عمل فلتر للداتاسيت ...
مع العلم أن الفلترة ستكون لأكثر من عمود ( ثلاثة أو أربعة ) وكلها عبارة عن حقول بوليون (( 0 / 1 ) - نعم - لا ) أريد في الفلترة أن تكون ثلاث خطوات ( نعم - لا - الإثنين معاً )
هذا كود تعبة القريد
Dim LSQL As String = "SELECT Req.* where req_name like '%" & TextBox2.Text.Trim & "%' and req_no like '%" & TextBox4.Text.Trim & "%' "
Dim LAdapter As New SqlDataAdapter(LSQL, Con)
LDataSet = New DataSet
Dim RowsCount As Integer
Dim i As Integer
' مسح الداتاقريدفيو من قيم سابقة محتملة
DataGridView1.Rows.Clear()
LAdapter.Fill(LDataSet, "LoadingData")
RowsCount = LDataSet.Tables("LoadingData").Rows.Count
If RowsCount = 0 Then
' يتم فحص السجلات المسترجعة من جمل اس كيو ال، فإن كان عددها صفرا
' معناها لا يوجد سجلات والجدول فارغ
' فيتم إغلاق الاتصال وعدم عرض اي شيء
DataGridView1.Rows.Clear()
LDataSet.Reset()
Con.Close()
Exit Sub
Else
DataGridView1.Rows.Add(RowsCount)
' هذه هي عملية تعبئة البيانات من الداتاسيت إلى الداتاقريد فيو
For i = 0 To RowsCount - 1
With DataGridView1
.Rows(i).Cells(0).Value = LDataSet.Tables("LoadingData").Rows(i).Item("req_no")
.Rows(i).Cells(1).Value = LDataSet.Tables("LoadingData").Rows(i).Item("req_name")
.Rows(i).Cells(2).Value = LDataSet.Tables("LoadingData").Rows(i).Item("req_name2")
.Rows(i).Cells(3).Value = LDataSet.Tables("LoadingData").Rows(i).Item("Typ_name")
.Rows(i).Cells(4).Value = LDataSet.Tables("LoadingData").Rows(i).Item("Rejected")
.Rows(i).Cells(5).Value = LDataSet.Tables("LoadingData").Rows(i).Item("Waiting")
.Rows(i).Cells(6).Value = LDataSet.Tables("LoadingData").Rows(i).Item("accepted")
End With
Next
LDataSet.Reset()
Con.Close()
End If
