簡體   English   中英

在 DataGridView 中自動增加 ID 列的最佳方法?

[英]Best way to auto-increment ID column in a DataGridView?

我有一個 dataGridView,我可以在其中插入、刪除和更新值,但有些事情困擾着我。 用戶只能修改顯示的 2 列(大小和數量),另外 2 列是隱藏的(ID 和 selectedComponent)。 ID是我表中的PK。

這是我為設置新行的 ID 和 selectedComponent 所做的:

private void dataGridViewStock_DefaultValueNeeded(object sender,
System.Windows.Forms.DataGridViewRowEventArgs e) 
    {
        e.Row.Cells["id"].Value = "1";
        e.Row.Cells["codeArticleComponent"].Value = labelComponentChosen.Text;
    }

無論我為 ID 設置什么值,第一個可用數字都將插入到數據庫中。 它有效,但我擔心它以后可能會導致錯誤。

有沒有更好的方法來實現這一目標? 或者我可以保持原樣嗎?

您可能需要一個單獨的列(僅在 GirdView 中)來標識當前行是新添加的還是現有的。 並根據新列增加負值的 id 列。

在保存數據時,您可以識別新創建的行,基於此您可以通過插入不帶 id 列的方式保存數據或更新現有數據。

希望這能讓你澄清。

這是我在數據網格視圖中自動遞增主鍵的代碼

private void Row_Added(object sender, 
DataGridViewRowsAddedEventArgs e){
  foreach(DataGridViewRow dtr in dataGridView1.Row){
  dataGridView1.Rows[e.RowIndex-1].Cells[0].Value = 
e.RowIndex;
}
}

我用過這個...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM