Поиск определенных значений по условию в DataGridView - Visual Basic .NET
Формулировка задачи:
Уважаемые,прошу вашей помощи.
Есть 5 марок автомоб*илей, у каждой марки свой приоритет: Mer*cedes,BMW,Hyundai,Mi*tshubishi,Nissan. Ка*ждый из сотрудников должен сначала взять по времени самый по*здний Мерс, затем по времени смотрит, ес*ли есть еще свободный Мерс, то закрепляе*тся строго за ней.Ес*ли Мерсы все закрепл*ены, переходит к мар*ке BMW(алгоритм тот же самый), и так все марки. Задача: отсл*еживать в таблице тех сотрудников которые взяли в работу авто не по порядку и не по времени красным цветом как в примере.
Решение задачи: «Поиск определенных значений по условию в DataGridView»
textual
Листинг программы
Public Class Form1
Public Mark() As String = {"Мерс", "БМВ", "Ниссан", "Хюндай", "Митсубиси"}
Public Login() As String = {"", "Vasia", "Petia", "", "Luci", "Kate"}
Public isFree As Boolean
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Randomize()
For i = 0 To 14
DataGridView1.Rows.Add()
DataGridView1.Item(0, i).Value = Mark(Math.Round(Rnd() * 4))
DataGridView1.Item(1, i).Value = (Now.AddSeconds(i * 5).ToLongTimeString)
DataGridView1.Item(2, i).Value = Login(Math.Round(Rnd() * 2))
Next
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
For i = 0 To 4
isFree = False
For n = DataGridView1.Rows.Count - 2 To 0 Step -1
If DataGridView1.Item(0, n).Value = Mark(i) Then
If DataGridView1.Item(2, n).Value = "" Then
isFree = True
Else
Pain(n)
End If
End If
Next
Next
End Sub
Private Sub Pain(ByVal i As Integer)
If isFree Then
DataGridView1.Item(3, i).Value = "red"
Else
DataGridView1.Item(3, i).Value = "green"
End If
End Sub
End Class