【问题标题】:DataGridView Winform Auto Insert Ordinal Column (Trick)DataGridView Winform 自动插入序号列(技巧)
【发布时间】:2010-03-22 03:24:34
【问题描述】:

我想解决这个问题。

我的桌子是这样的

产品(uuid,名称)

和一个数据网格视图来显示此信息(dataGridView.DataSouce = 在运行时分配的产品)

  • 我的问题是我想在 dataGridView 上显示“否”列,如下所示

    没有 |姓名

    1 |产品A

    2 |产品B

    3 |产品C

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

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

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

谢谢,

【问题讨论】:

    标签: winforms ado.net datagridview auto-increment


    【解决方案1】:

    我从来没有发现任何窍门,但我研究了好几次。以下是一些关于这个问题的cmets。

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

        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
    

    【讨论】:

      猜你喜欢
      • 2013-03-20
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多