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