繁体   English   中英

如何为 DataGridView 创建自增列?

[英]How can I create a self-incrementing column for a DataGridView?

我需要向 DataGridView 添加一个自增列。 每次向网格中添加一行时,我都想增加No列。

我的Form_Load代码:

Private Sub SAP_OrdenVenta_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    DataGridView1.ColumnCount = 6

    DataGridView1.Columns(0).Name = ("No")
    DataGridView1.Columns(1).Name = ("NoArticulo")
    DataGridView1.Columns(2).Name = ("Descripcion")
    DataGridView1.Columns(3).Name = ("Cantidad")
    DataGridView1.Columns(4).Name = ("Precio")
    DataGridView1.Columns(5).Name = ("Total")
End Sub

添加按钮的 DataGridView 按钮单击事件:

Private Sub btnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAgregar.Click

    Dim articulo, cantidad As Integer
    Dim precio, total1 As Double
    Dim i As Integer = 0

    articulo = txtArticulo.Text.Trim()
    cantidad = txtCantidad.Text.Trim()
    precio = txtPrecio.Text.Trim()
    total1 = txtPrecio.Text.Trim()

    'Agrego Linea a DataGridView
    Dim row As String() = New String() {1, articulo, "No disponible", cantidad, precio, total1}
    DataGridView1.Rows.Add(row)

End Sub

我怎样才能使这项工作?

Private Sub btnAgregar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAgregar.Click    
    Dim LastIndex As Integer = DataGridView1.Rows.Count - 1
    Dim LastNo As Integer = Integer.Parse(DataGridView1.Rows(LastIndex).Cells(0).Value)
    Dim NewNo As String = (LastNo + 1).ToString()

    Dim row As String() = New String() {NewNo, txtArticulo.Text, "No disponible", txtCantidad.Text, txtPrecio.Text, txtPrecio.Text}
    DataGridView1.Rows.Add(row)
End Sub

但是请注意:如果此视图是从真实的数据库表加载的,您几乎总是希望依靠数据库生成 ID 值的能力。 否则,这是一个等待爆发的巨大竞争条件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM