DataGridView Winform自动插入序列列(Trick)

时间:2010-03-22 03:24:34

标签: winforms ado.net datagridview auto-increment

我想解决这个问题。

我有这样的表

产品(uuid,名称)

和一个datagridview显示此信息(dataGridView.DataSouce =在运行时分配的产品)

  • 我的问题是我希望在dataGridView上有“No”列,如下所示

    没有|姓名

    1 | ProdctA

    2 |产品B

    3 | ProductC

我现在所做的是在我的产品型号上创建一个“否”字段,并遍历所有行并为其赋值。

我认为这不是一个好的解决方案。

希望任何人都能提出更好的解决方案。

谢谢,

1 个答案:

答案 0 :(得分:0)

我从未找到过诡计,但我已多次研究过。以下是关于这个问题的一些评论。

  1. 由于您要添加列,因此基本上是添加数据。因此,您必须指定该列的行数据。
  2. 更新特定列的速度相对较快。与使用表达式添加数据列的性能大致相同。我已经完成了性能测试并更新了整数值,而使用列的索引的速度与此次更新的速度差不多。

  3.     Dim oData As DataTable = GatherDataTable()
    
        Dim oAutoIdColumn As New DataColumn("uuid", GetType(Integer))
        oData.Columns.Add(oAutoIdColumn)
    
        Dim iColumnIndex As Integer = oAutoIdColumn.Ordinal
        Dim oRows As DataRowCollection = oData.Rows
        Dim iRowCount As Integer = oRows.Count
    
        For i As Integer = 1 To iRowCount
            oRows.Item(i - 1).Item(iColumnIndex) = i
            '-or-
            oRows(i - 1)(iColumnIndex) = i
        Next
    
        Me.DataGridView1.DataSource = oData
    
相关问题