0
我有一個Datagridview,其中包含4列項目,數量,價格,金額。用戶應該在第一列中輸入項目名稱。我有一個在數據庫中的表,所有的項目名稱存儲。所以插入的名字應該被檢查,如果它在數據庫中。如果它不在數據庫中,我希望單元格像TextBox一樣被清除,並且焦點保留在該單元格中。用戶不應該被允許繼續下去,直到他進入正確的項目名稱......到目前爲止,我已經嘗試過這種我想datagridview單元格被清除並保持專注
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,在用戶輸入時顯示給用戶,以便他可以從中選擇項目名稱。它的作用類似於ComboBox自動完成。
而不是期待用戶瞭解每個項目的確切名稱的代碼,爲什麼不把該列組合框列,他們挑選項目的?這樣他們不能選擇一個錯誤的項目。 – Plutonix
你的例子不能編譯。你有一個額外的'如果' – djv
我不指望用戶知道確切的名稱。我忘了提及我有一個datagridview只出現,並顯示所有項目的名稱作爲用戶在該單元格中鍵入。它建議他鍵入的項目。他可以通過單擊它從DataGridiew中選擇,然後datagridview變得不可見,或者他可以編寫確切的項目名稱。但是如果他不從中選擇一個或者從中選擇一個呢。我希望細胞的內容被清除,細胞保持聚焦 –