10 | Populate Academic year ComboBox using For Loop Statement - VB.NET & SQL Server

١. تعريف الإجراء:

  • Private Sub frm_Register_New_Student_Load(...): يتم استدعاء هذا الإجراء عندما يتم تحميل النموذج (Form) المسمى frm_Register_New_Student.

٢. تحديد السنة الدراسية الأولى:

  • Dim First_Year As Integer = Date.Now.Year - 1: يتم تعيين First_Year إلى السنة الحالية ناقص واحد. على سبيل المثال، إذا كانت السنة الحالية ٢٠٢٤، فإن First_Year ستصبح ٢٠٢٣.

٣. حلقة لإضافة السنوات الدراسية:

  • For y As Integer = 0 To 1: تبدأ حلقة تكرارية (For loop) من 0 إلى 1، مما يعني أنها ستنفذ مرتين.
    • في كل تكرار:
      • cbox_AcademicYear.Items.Add(First_Year & "-" & First_Year + 1): يتم إضافة نص إلى ComboBox يسمى cbox_AcademicYear. النص يكون بالشكل "السنة - السنة التالية". على سبيل المثال، إذا كانت First_Year ٢٠٢٣، فسيتم إضافة "٢٠٢٣-٢٠٢٤".
      • First_Year = First_Year + 1: يتم زيادة First_Year بسنة واحدة للانتقال إلى السنة التالية.

٤. تحديد العنصر المحدد في ComboBox:

  • cbox_AcademicYear.SelectedIndex = 0: بعد إضافة العناصر، يتم تعيين العنصر المحدد في cbox_AcademicYear إلى العنصر الأول (الفهرس 0).

خلاصة:

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


 كود المستخدم بهذا الدرس فقط داخل حدث  frm_Register_New_Student_Load

Private Sub frm_Register_New_Student_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        Dim First_Year As Integer = Date.Now.Year - 1 '2023

        For y As Integer = 0 To 1

            cbox_AcademicYear.Items.Add(First_Year & "-" & First_Year + 1)

            First_Year = First_Year + 1

        Next

        cbox_AcademicYear.SelectedIndex = 0

    End Sub

الكود كامل المستخدم داخل حدث  frm_Register_New_Student_Load  

   Private Sub frm_Register_New_Student_Load(sender As Object, e As EventArgs) Handles MyBase.Load  

     ' كود الدروس السابقة

        Dim con As New SqlConnection(conString)

        Dim dtstages As New DataTable

        dtstages.Clear()

        con.Open()

        Using cmd As New SqlCommand("SELECT ID,stage FROM tbl_stages WHERE status='Available'", con)

            cmd.CommandType = CommandType.Text

            cmd.CommandTimeout = 420

            dtstages.Load(cmd.ExecuteReader)

            If dtstages.Rows.Count <> 0 Then

                cbox_stage.DataSource = dtstages

                cbox_stage.DisplayMember = "stage"

 

                cbox_stage_id.DataSource = dtstages

                cbox_stage_id.DisplayMember = "ID"

                con.Close()

            Else

                con.Close()

            End If

        End Using


        Dim dtfee As New DataTable

        dtfee.Clear()

        con.Open()

        Using cmd As New SqlCommand("SELECT study_fee  FROM tbl_stages WHERE status= @status and stage = @stage", con)

            cmd.Parameters.AddWithValue("@status", "Available")

            cmd.Parameters.AddWithValue("@stage", cbox_stage.Text.Trim)

 

            cmd.CommandType = CommandType.Text

            cmd.CommandTimeout = 420

            dtfee.Load(cmd.ExecuteReader)

 

            If dtfee.Rows.Count <> 0 Then

                txt_fee.Text = dtfee.Rows(0).Item("study_fee").ToString

                con.Close()

            Else

                con.Close()

            End If

        End Using  

 '____________________________________________________________________

' كود الدرس الحالي

        '____________________________________________________________________

        Dim First_Year As Integer = Date.Now.Year - 1 '2023

        For y As Integer = 0 To 1

            cbox_AcademicYear.Items.Add(First_Year & "-" & First_Year + 1)

            First_Year = First_Year + 1

        Next

        cbox_AcademicYear.SelectedIndex = 0

    End Sub

إذا كان لديك أي أسئلة أخرى أو تحتاج إلى مزيد من التوضيح، فلا تتردد في طرحها!

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


تعليقات

المشاركات الشائعة من هذه المدونة

7 | Display column's stages from the database into ComboBox's Stage - VB.NET & SQL Server

26 | Filter Students List based on students' stage and Group in DataGridView - VB.NET & SQL Server

8 | Get selected Stage and Group IDs from their ComboBoxes - VB.NET & SQL Server