2015-01-21 5 views
0

vb.net datagridview 사용 autoincrement 열을 만들었습니다. 다음 코드를 사용하십시오 :Devexpress xtragrid를 사용하여 autoIncrement 열 작성

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, 윈폼, 그리드를 제어합니다 GridView에 대한

+0

왜 좋지 않은가요? 당신이 무엇을 찾고 있는지 불분명합니다. – nempoBu4

+1

난 내 dataGrid 행 번호를 계산하고 첫 번째 열에 표시 싶어요. – Nik

답변

0

좋아요, 많은 연구 끝에 해결책을 찾은 것 같습니다. 다음과 같이 바뀝니다.

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 
0

사용 이벤트 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; 
}