Прежде всего, следующие мои коды:
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'Establish connection with sql server. Fill the data in data grid view (dgvData)
For i As Integer = 2 To dgvData.Columns.Count() - 1
dgvSettings.Rows.Add(dgvData.Columns(i).HeaderText, 0, 100, "High")
Next
End Sub
Public Sub comparevalues()
For z As Integer = 2 To dgvData.ColumnCount - 1
If dgvData.Rows(0).Cells(z).Value.ToString() > dgvSettings.Rows(z - 2).Cells(2).Value.ToString() Then
MsgBox("Value Exceed Maximum Limit")
dgvAlert.Rows.Add(False, dgvData.Rows(0).Cells(1).Value.ToString(), dgvData.Columns(z).HeaderText.ToString(), dgvData.Rows(0).Cells(z).Value.ToString(), "Unacknowledged", dgvSettings.Rows(z - 2).Cells(3).Value.ToString())
ElseIf dgvData.Rows(0).Cells(z).Value.ToString() < dgvSettings.Rows(z - 2).Cells(1).Value.ToString() Then
MsgBox("Value Below Minimum Limit")
dgvAlert.Rows.Add(False, dgvData.Rows(0).Cells(1).Value.ToString(), dgvData.Columns(z).HeaderText.ToString(), dgvData.Rows(0).Cells(z).Value.ToString(), "Unacknowledged", dgvSettings.Rows(z - 2).Cells(3).Value.ToString())
Else
'in range, do nothing
End If
Next
End Sub
это таблица dgvdata, она связана с моим сервером sql db
thisэто таблица dgvalert, все значения из последней строки в dgvdata, которая удовлетворяет условию, как в comparevalues (), будут здесь сведены в таблицу.
это таблица dgvsettings, здесь установлены все предельные условия.
так вот, что я пытаюсь сделать, хотя некоторые из вас могут быть в состоянии интерпретировать из приведенного выше кода.После заполнения dgvData моей таблицей данных sql, я бы хотел сравнить значения в каждом столбце последней строки в соответствии с условием, заданным в подпункте comparevalues ().то есть.если значение в, скажем, столбце pH, превышает предельное значение, установленное в dgvSettings, тогда оно будет добавлено в таблицу dgvAlert.
, но проблема в том, что при запуске кода они находятся в диапазоненабор в dgvSettings все еще добавляется в dgvAlert.и большинство из них принимается за превышение предела, когда оно все еще должно находиться в пределе диапазона.Я ломал голову с последних нескольких дней, пытаясь понять это правильно.Ваша помощь очень ценится.Спасибо.