[英]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.