在GridView_RowCellClick上动态地向DevXpress网格添加一个组合框

时间:2016-01-25 07:22:56

标签: c# gridview datagridviewcombobox devexpress-windows-ui

我正在使用“DevXpress.XtraGrid.GridView”,我编写了以下代码来显示单元格上的组合框。当用户点击单元格时会发生这种情况。在调试或运行模式下,代码正确执行但没有任何反应。我在代码中做错了吗?请指教。

这是我的代码:

    Private Sub GridView1_RowCellClick(sender As Object, e As RowCellClickEventArgs) Handles GridView1.RowCellClick
        Try
            Dim myNewLawyersCol As GridColumn = GridView1.Columns("NewLawyers")
            If (e.Column.Equals(myNewLawyersCol)) Then
                Dim riCombo As RepositoryItemComboBox = New RepositoryItemComboBox()
                riCombo.Items.Clear()
                riCombo.Items.AddRange(myList)

                GridControl1.RepositoryItems.Add(riCombo)
                GridView1.Columns("NewLawyers").ColumnEdit = riCombo
                GridControl1.Refresh()
            End If
        Catch ex As Exception
            DebugMessage(1, "Error in GridView1_RowCellClick :- " + ex.Message)
        Finally
            Cursor.Current = Cursors.Default
        End Try
    End Sub

谢谢。

1 个答案:

答案 0 :(得分:0)

Gosha(来自DevExpress支持)帮助我解决问题。

以下是他的解释:

“当用户单击一个单元格时,编辑该单元格的编辑器。据我所知,您需要将特定单元格的编辑器更改为ComboBoxEdit。如果是这样,RowCellClick事件不是正确的位置为了更改将用于编辑单元格的编辑器,请使用GridView.CustomRowCellEditForEditing事件。它专门用于此目的。“

这是我的代码:

    Private Sub GridView1_CustomRowCellEditForEditing(sender As Object, e As CustomRowCellEditEventArgs) Handles GridView1.CustomRowCellEditForEditing
        If (e.Column.FieldName = "NewLawyers") Then
            riCombo.Items.Clear()
            riCombo.Items.AddRange(allLawyersNames)
            e.RepositoryItem = riCombo
        End If
    End Sub