繁体   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