0
所以,我有這個datagridview顯示我的整個表,因爲我們都知道主字段不能爲空或重複,所以我必須做一些驗證,然後將其保存到數據庫。在Datagridview驗證行
我設法讓我的驗證看到,如果我有一個現有的行,我將主鍵更改爲「空」或重複值,它鎖定該單元格中的datagridview,直到我修復它。
當我添加一個新行時,如果我沒有將焦點放在主鍵上的datagridview單元格驗證事件不會觸發,我更新數據庫時出現錯誤,因爲datagrid接受我的空值。
這是我在行驗證的嘗試,但它不起作用,我希望你的幫助。我希望該行被阻止,直到用戶向我的主鍵提供適當的輸入,該列在索引5上被稱爲「LOOPS」,但是,如果我踩在主鍵上,我發佈的代碼只會觸發鎖定!
private void dataGridView2_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
{
if (dataGridView2.Rows[e.RowIndex].Cells[5].ToString() == "")
{
dataGridView2.Rows[e.RowIndex].ErrorText = "El campo clave de la tabla (Loops) no puede estar en blanco";
e.Cancel = true;
}
}
我不能,用戶必須修改它,這是我給出的標準,而不是我的選擇。用戶必須選擇pk,這是過程工廠中儀器的識別號。我希望事件所做的是禁止用戶輸入一個新行,如果PK是空白的 – Joaquin