21-04-25, 11:04 PM
أريد
كود :
التعديل على كود جلب الأقسام الدراسية في الكومبوكس
Classroom في الفورم FormSemester1
بناء على اختيار الصف من ListBox الموجود في الفورم الرئيسي
هذا كود تعبئة الليست بوكس بأسماء الصفوف الدراسية’
Private Sub fillNameClas(listBox As ListBox)
' إفراغ الكومبوكس من البيانات
ListBoxClas.Items.Clear()
Dim Sql_Str As String = "SELECT NameClas From TBL_Clas ORDER BY IDClas asc"
Dim InfoAdapter As OleDbDataAdapter = New OleDbDataAdapter(Sql_Str, Con)
Dim InfoTable As DataSet = New DataSet
InfoTable.Clear()
InfoAdapter.Fill(InfoTable, "TBL_Clas")
For Each rw As DataRow In InfoTable.Tables("TBL_Clas").Rows
ListBoxClas.Items.Add(rw(0).ToString())
Next
End Sub
وهذا كود لتعبئة الأقسام الدراسية التابعة للصفوف الدراسية
Private Sub fillcmb_TBL_Classroom()
Combroom.Items.Clear()
Dim Sql_Str As String = "SELECT DISTINCT Classroom From TBL_SClassroom Where ClassName = '" & listClas.Text & "'"
Dim InfoAdapter As OleDbDataAdapter = New OleDbDataAdapter(Sql_Str, Con)
Dim InfoTable As DataSet = New DataSet
InfoTable.Clear()
InfoAdapter.Fill(InfoTable, "TBL_SClassroom")
For Each rw As DataRow In InfoTable.Tables("TBL_SClassroom").Rows
Combroom.Items.Add(rw(0).ToString())
Next
End Sub
---------------------------------------------------------------------------------------
كود تعبئة الصفوف موجود في الفوره الرئيسي FormMin
وكود تعبئة الأقسم الدراسية موجود في الفورم FormSemester1 - FormSemester2
المطلوب: هل يمكن تعبئة كومبوكس الأقسام الدراسية الموجود في الفورمين FormSemester1 - FormSemester2
عوذلك عند اختيار الصف الدراسي من الليست بوكس الموجود في الفورم الرئيسي FormMin
جربت هذه الأكواد ولم انجح
إضافة حدث SelectedIndexChanged إلى الليست بوكس في الفورم الرئيسي FormMin، ثم استدعاء دالة تعبئة الأقسام الدراسية في الفورمين FormSemester1 و FormSemester2.
في FormMin:
```
Private Sub ListBoxClas_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBoxClas.SelectedIndexChanged
If FormSemester1.Visible Then
FormSemester1.fillcmb_TBL_Classroom()
ElseIf FormSemester2.Visible Then
FormSemester2.fillcmb_TBL_Classroom()
End If
End Sub
```
ثم إضافة حدث SelectedIndexChanged إلى الليست بوكس في الفورم الرئيسي FormMin، ثم استدعاء دالة تعبئة الأقسام الدراسية في الفورمين FormSemester1 و FormSemester2 عن طريق إنشاء واجهة أو فئة مشتركة بين الفورمين.
وهذا كود في الفورمين الموجود فيهما كومبوكس Classroom
Public Sub fillcmb_TBL_Classroom()
Combroom.Items.Clear()
Dim Sql_Str As String = "SELECT DISTINCT Classroom From TBL_SClassroom Where ClassName = '" & FormMin.ListBoxClas.Text & "'"
Dim InfoAdapter As OleDbDataAdapter = New OleDbDataAdapter(Sql_Str, Con)
Dim InfoTable As DataSet = New DataSet
InfoTable.Clear()
InfoAdapter.Fill(InfoTable, "TBL_SClassroom")
For Each rw As DataRow In InfoTable.Tables("TBL_SClassroom").Rows
Combroom.Items.Add(rw(0).ToString())
Next
End Sub
إذا طُعِنتَ من الخلفِ فاعلمْ أنك في المقدمةِ

