使用 Devexpress xtragrid 创建 autoIncrement 列

Create autoIncrement column using Devexpress xtragrid

使用 vb.net datagridview 我制作了自动增量列。使用以下代码:

    Private Sub Dgv_RowCountChanged()
          For Each dgvr As DataGridViewRow In Me.dgvProm.Rows
          dgvr.Cells(0).Value = dgvr.Index + 1
    Next
    End Sub

在我迁移到 DevExpress xtra 网格控件之后,我想做同样的事情。我试过这样的东西,但效果不好。

        Private Sub GridView1_RowCountChanged(sender As Object, e As EventArgs) Handles GridView1.RowCountChanged
    For Each dgvr As XtraGrid.Views.Grid.GridRow 

        Dim s As String = dgvr.VisibleIndex + 1
        MessageBox.Show(s)
    Next

End Sub

知道我该怎么做。这是我的第一个问题。

Devexpress 11.1.4、Winforms、网格控件

GridView 使用事件 InitNewRow

private void gv_InitNewRow(object sender, InitNewRowEventArgs e)
{
    var myobject = gv.GetRow(e.RowHandle) as MyType;
    var previousmax = /* sth */ <- you can use gv.RowCount or something else
    myobject.NewValue = previousmax + 1;
}

好的,经过大量研究,我似乎找到了解决方案。它是这样的:

 Private Sub GridView1_InitNewRow_1(sender As Object, e As InitNewRowEventArgs) Handles GridView1.InitNewRow

        ' auto increment first column
        GridView1.SetRowCellValue(e.RowHandle, "COLUMN", GridView1.RowCount + 1)   ' I want to start from one

    End Sub