0
나는 Item, Qty, Price, Amount의 4 개의 열을 가진 Datagridview를 가지고있다. 사용자는 첫 번째 열에 항목 이름을 입력해야합니다. 나는 데이터베이스에 모든 항목 이름이 저장되어있는 테이블을 가지고 있습니다. 삽입 된 이름은 데이터베이스에 있는지 확인해야합니다. 데이터베이스에없는 경우 TextBox처럼 셀을 지우고 포커스가 해당 셀에 남아 있기를 원합니다. 사용자가 지금까지 내가 여기나는 데이터 그 리드 셀을 지우고 초점을 유지하기를 원한다.
Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
connect()
sql = "Select ProductName from Products where ProductName = '" & Me.DataGridView1.Rows(e.RowIndex).Cells(0).Value.ToString & "' "
objcmd = New SqlCommand(sql, objcon)
OBJDR = objcmd.ExecuteReader
If OBJDR.Read = False Then
MessageBox.Show("Item Name Is not in the Items list", "Item Name Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
''clearing the cell '
Me.DataGridView1.Rows(e.RowIndex).Cells(0).Value = ""
'' here i want the cell to get foucus and the cursor remain like textbox
DataGridView1.CurrentCell = DataGridView1.Rows(DataGridView1.CurrentCell.RowIndex).Cells(0)
' DataGridView1.BeginEdit(True)
Exit Sub
End If
End Sub
을 시도 ... 그는 올바른 항목 이름을 입력 할 때까지 계속하도록 허용해서는 안 내 DataGridView에
이의 이미지입니다 그가 입력 할 때 사용자에게 표시되는 DataGridview입니다. 항목 이름을 it.it에서 선택하면 ComboBox AutoComplete처럼 작동합니다.
대신 모든 항목의 정확한 이름을 알 수있는 사용자의 기대에 코드를 넣어? 그렇게하면 잘못된 항목을 선택할 수 없습니다. – Plutonix
예제가 컴파일되지 않습니다. 당신은 여분의'End If'를 가지고 있습니다. – djv
정확한 이름을 알기를 기대하지 않습니다. 내가 나타납니다 datagridview 언급하고 해당 셀에있는 사용자 형식으로 모든 항목의 이름을 표시하는 것을 잊지. 그가 입력 할 때 항목을 제안합니다. 그는 그 datagridview에서 그것을 클릭함으로써 선택할 수 있습니다. 그러면 datagridview가 보이지 않게되거나 정확한 항목 이름을 쓸 수 있습니다. 그러나 그가 그것 또는 ent에서 하나를 골라 내지 않으면 어떨까요. 셀의 내용을 지우고 셀의 초점을 유지하고 싶습니다 –