الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

البحث في عمود bit يعرض على شكل checkbox

مغلقمُجاب
بدأه رحيّم في 16 أبريل 2013 · 2 رد · 3,715 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أساتذتي الكرام

عندي من ضمن حقول قاعدة البيانات حقل نوعه bit  أستخدمه كـ checkbox في البرنامج ... وهو يسمح بالقيمة الخالية

كيف أبحث في هذا العمود ؟ أعني لو وضعت شيكبوكس في نافذة البحث إذا كانت صح يظهر المؤشر عليهن وإذا كانت فاضي false يظهر الـ false  ويظهر كذلك الـ null  .. وخيار ثالث لإظهار الجميع ...

استخدمت الكود التالي بدون فائدة : 

 

sasasa = IIf(TextBox3.Text = "", " '%' ", TextBox3.Text)
im cmd As SqlCommand = New SqlCommand("SELECT Req.*, TypeReq.Typ_name fROM TypeReq INNER JOIN Req ON TypeReq.Typ_no = Requ.Req_Typ_no where req_name like '%" & TextBox2.Text.Trim _
D & "%' and Req_Typ_no like " & sasasa & " and (req_info is null or req_info like '%" & TextBox1.Text & "%') and Req_qui like '" & CType(Me.CheckBox1.Checked, Boolean) & "' ", con)

 

 

في البداية لم أستخدم دالة التحويل إلى بوليون من دون فائدة ... وكذلك الفواصل والكومات عدلت مواضعها عدة مرات بدون فائدة ... 

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 16 أبريل 2013 في 13:45

#2 أفضل إجابة

أخي الفاضل

يمكنك الوصول الي الهدف من خلال هذا الكود البسيط

 

قم بانشاء فورم جديد وضع بداخلة اداه DataGridview وزر CheckBox1 لاظهار ( المحدد أو غير المحدد ) وز آخر CheckBox2 لاظهار الكل

وزر ثالث زياده من عندي للبحث داخل الجريد فيو وأيضا TextBox1 لكتابة الــ Criteria المطلوبة داخل الجريد فيو

 

قم بمليء الجريد باستخدام DataSet

 

ولا تنسي تغيير سلسلة الاتصال لكي تتوافق مع معلومات الاتصال طرفك

 

post-46243-0-51173700-1366111196_thumb.j

 

 

منطقة التصريحات وسلسلة الاتصال

 

Imports System.Data
Imports System.Data.SqlClient
Public Class Form1

    Dim ConStr As New SqlConnection("Server=.\MSSSQL;Database=Students;user id=sa;Password=+++++")
    Dim da As New SqlDataAdapter("Select Stats,StudentID,FirstName,MeddileName,LastName from Tbl_Students", ConStr)

    Dim ds As New DataSet

 

 مليء الداتا جريد وقت تحميل الفورم
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        da.Fill(ds, "Tbl_Students")
        DataGridView1.DataSource = ds.Tables(0)

    End Sub

 

زر تنفيذ البحث داخل الجريد فيو

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ds.Tables(0).DefaultView.RowFilter = " StudentID like '%" & TextBox1.Text & "%'"
    End Sub

 

اظهار الحالات التي تم التأشير عليها أو الغير مؤشر عليها

  Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
        ds.Tables(0).DefaultView.RowFilter = " stats=" & CheckBox1.Checked
    End Sub

 

اظهار الكل

 

    Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged
        ds.Tables(0).DefaultView.RowFilter = ""
    End Sub
End Class

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 16 أبريل 2013 في 14:29

1

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#3

ما شاء الله تبارك الله

 

جزاك الله خيراً أستاذي محمد   كفيت ووفيت ... جبتها من البداية   

 

لقد أخذت الفكرة مما وضعته وعدلت فيها قليلاً  ليصبح بدل الاختيارين اختيار واحد فيه كل الاحتمالات ...

والكود الذي استخدمته هو :

 

  Private Sub CheckBox1_CheckStateChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckStateChanged
        Select Case CheckBox1.CheckState
            Case CheckState.Indeterminate
                SQLDataSet1.Tables(0).DefaultView.RowFilter = ""
            Case CheckState.Checked
                SQLDataSet1.Tables(0).DefaultView.RowFilter = " Req_qui=" & 1
            Case CheckState.Unchecked
                SQLDataSet1.Tables(0).DefaultView.RowFilter = " Req_qui is null"
        End Select

    End Sub

 

وفي الأخير     

جزاك الله خيراً 

هذا الموضوع مغلق.

مواضيع مشابهة