텍스트 상자, 단추 및 데이터 격자보기가있는 코드로 작업하고 있습니다. 단추를 누를 때 TextBox의 값이 DataGridView에 없을 때 "데이터 없음"을 표시하려고합니다. 문자열 값이 DataGridView에 있는지 확인하는 방법
이것은If DataGridView1.Rows.Contains(TextBox1.Text) = False Then
MessageBox.Show("Data Not Exist!")
End If
텍스트 상자, 단추 및 데이터 격자보기가있는 코드로 작업하고 있습니다. 단추를 누를 때 TextBox의 값이 DataGridView에 없을 때 "데이터 없음"을 표시하려고합니다. 문자열 값이 DataGridView에 있는지 확인하는 방법
이것은If DataGridView1.Rows.Contains(TextBox1.Text) = False Then
MessageBox.Show("Data Not Exist!")
End If
당신은 당신은 LINQ
또는 ForLoop
를 사용하거나 쉽게 그것을 할 수있는 모든 행과 열
Dim isFound As Boolean = False
For Each row As GridViewRow In DataGridView1.Rows
for i As Integer = 0 to DataGridView1.Columns.Count -1
If row.Cells[i].Text = TextBox1.text Then
isFound = True
exit for
End If
Next
Next
If (isFound) Then
MessageBox.Show("Data Exists!")
Else
MessageBox.Show("Data Not Exists!")
EndIf
For i As Integer = 0 to DataGridView1.Columns.Count'는 인덱스가 'zero'로 시작하기 때문에 에러가 발생한다. :) –
오른쪽 .. 대답을 업데이트했습니다. –
MAN YOU A GENIOUS! : D 고맙습니다 - 아픈 또 다른 질문을 게시하십시오 ... –
을 통해 루프를 필요로 지금까지 내 코드입니다 이 코드는 모두과 일치하며 DataGridView
과 일치하며 어느 과 Column
그것은 성냥을 본다.
ForLoop
을 사용하면 Column
및 에 대해 루프를 실행해야합니다.
Private Sub SearchUsingForLoop()
Dim resultString As String = Nothing
For x = 0 To DataGridView1.ColumnCount - 1
For y = 0 To DataGridView1.RowCount - 1
If DataGridView1.Item(x, y).Value.ToString.ToUpper = txtSearch.Text.ToUpper Then
resultString &= " - Column " & x + 1 & " Row " & y + 1 & vbCrLf
End If
Next
Next
If resultString <> Nothing Then
resultString = txtSearch.Text & " found in : " & vbCrLf & resultString
Else
resultString = "Data does not exist."
End If
MsgBox(resultString)
End Sub
은 0
와 DatagridViewRow
및 DatagridViewColumn
시작의 인덱스를 기억하십니까.
이 일을하는 또 다른 방법은 LINQ
입니다 :
Private Sub SearchUsingLINQ()
Dim resultSet = From dgRow As DataGridViewRow In Me.DataGridView1.Rows, _
dgCell As DataGridViewCell In dgRow.Cells _
Where dgCell.Value.ToString.ToUpper = txtSearch.Text.ToUpper _
Select dgCell
Dim resultString As String = Nothing
If resultSet.Count > 0 Then
resultString = txtSearch.Text & " found in :" & vbCrLf
For Each dgCells In resultSet
resultString &= " - Column " & dgCells.ColumnIndex + 1 & " Row " & dgCells.RowIndex + 1 & vbCrLf
Next
End If
If resultString <> Nothing Then
MsgBox(resultString)
Else
MsgBox("Data does not exist.")
End If
End Sub
그 중 하나를 사용하여 주시기 바랍니다. 하지만 먼저 iterating
을 DataGridView
으로 공부하시는 것이 좋습니다.
안녕하세요, StackOverflow에 오신 것을 환영합니다. 지금까지 뭐 해봤 어? 친절하게 질문에 포함하십시오. 이것은 유감 스럽지만 이것은 _code factory_는 아닙니다. –
죄송합니다, 초보자는 여기에 있습니다. 나는 내 코드를 포함했다 –
모든 열과 모든 행을 검색해야합니까? 또는 특정 열에 대해서만? –