我正在使用“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
谢谢。
答案 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