![]() |
[VB.NET] تغيير لون بعض Items فى Combobox بناء على اختيارات Combobox آخر
<div>هذه هى واجهة البرنامج
https://www5.0zz0.com/2020/04/05/13/769597835.jpg كل Combobox من الأربعة السفلى يعتمد على اختيار ما قبله ما أريده هو أنه عندما يتم اخيار Available فى Combobox المسمى Status كما بالصورة https://www5.0zz0.com/2020/04/05/13/182870544.jpg يتغير لون items فى Combobox المسمى Name والتى يكون مسجلاً أمامها Yes فى قاعدة البيانات فى خانة Available كما بالصورة https://www7.0zz0.com/2020/04/05/13/118244816.jpg وهذا هو كود البرنامج: كود: Imports System.Data.OleDb Public Class Form1 * *Dim cnn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source=Stock.accdb") * *Dim da As OleDbDataAdapter * *Dim cm As OleDbCommandBuilder * *Dim cmd As OleDbCommand * *Dim itemRoute As String() * *Private Sub ComboType_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboType.SelectedIndexChanged * * * *ComboName.Items.Clear() * * * *ComboQuantity.Items.Clear() * * * *ComboStore.Items.Clear() * * * *If ComboType.SelectedItem = "Food" Then * * * * * *Dim dt1 As New DataTable * * * * * *dt1.Clear() * * * * * *Dim sql As String = "SELECT * FROM Food" * * * * * *da = New OleDbDataAdapter(sql, cnn) * * * * * *cm = New OleDbCommandBuilder(da) * * * * * *da.Fill(dt1) * * * * * *For ii As Integer = 0 To dt1.Rows.Count - 1 * * * * * * * *ComboName.Items.Add(dt1(ii)(0)) * * * * * *Next * * * *End If * * * *If ComboType.SelectedItem = "Clothes" Then * * * * * *Dim dt1 As New DataTable * * * * * *dt1.Clear() * * * * * *Dim sql As String = "SELECT * FROM Clothes" * * * * * *da = New OleDbDataAdapter(sql, cnn) * * * * * *cm = New OleDbCommandBuilder(da) * * * * * *da.Fill(dt1) * * * * * *For ii As Integer = 0 To dt1.Rows.Count - 1 * * * * * * * *ComboName.Items.Add(dt1(ii)(0)) * * * * * *Next * * * *End If * *End Sub * *Private Sub ComboName_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboName.SelectedIndexChanged * * * *ComboQuantity.Items.Clear() * * * *ComboStore.Items.Clear() * * * *If ComboType.SelectedItem = ("Food") Then * * * * * *Dim dt2 As New DataTable * * * * * *dt2.Clear() * * * * * *Dim sql2 As String = "SELECT * FROM Food WHERE Food = '" & ComboName.SelectedItem & "'" * * * * * *da = New OleDbDataAdapter(sql2, cnn) * * * * * *cm = New OleDbCommandBuilder(da) * * * * * *da.Fill(dt2) * * * * * *Dim quants As String = dt2(0)(1) * * * * * *Dim quant As String() = quants.Split("-") * * * * * *For ii As Integer = 0 To quant.Count - 1 * * * * * * * *ComboQuantity.Items.Add(quant(ii)) * * * * * *Next * * * * * *Dim stores As String = dt2(0)(2) * * * * * *Dim store As String() = stores.Split("-") * * * * * *itemRoute = store * * * *End If * * * *If ComboType.SelectedItem = ("Clothes") Then * * * * * *Dim dt2 As New DataTable * * * * * *dt2.Clear() * * * * * *Dim sql2 As String = "SELECT * FROM Clothes WHERE Clothes = '" & ComboName.SelectedItem & "'" * * * * * *da = New OleDbDataAdapter(sql2, cnn) * * * * * *cm = New OleDbCommandBuilder(da) * * * * * *da.Fill(dt2) * * * * * *Dim quants As String = dt2(0)(1) * * * * * *Dim quant As String() = quants.Split("-") * * * * * *For ii As Integer = 0 To quant.Count - 1 * * * * * * * *ComboQuantity.Items.Add(quant(ii)) * * * * * *Next * * * * * *Dim stores As String = dt2(0)(2) * * * * * *Dim store As String() = stores.Split("-") * * * * * *itemRoute = store * * * *End If * *End Sub * *Private Sub ComboQuantity_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboQuantity.SelectedIndexChanged * * * *ComboStore.Items.Clear() * * * *ComboStore.Items.Add(itemRoute(ComboQuantity.Sele ctedIndex)) * *End Sub End Class |
الساعة الآن 07:36 PM |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. TranZ By
Almuhajir