2012-01-10 66 views
-1

我有一个datagridview组合框,其中有几个值。我试图捕捉用户点击的内容。我试过CellValueChangedCellContentClicked等,但没有任何工作。Datagridview combobox列的值

我想将此值存储到一个变量(重要),然后在用户选择值后将光标移动到列。

请帮忙。还请告知要开火的事件。

感谢

Private Sub dg_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dg.CellValueChanged 
    If flgLD = 1 Then 
     Dim retreivedValue As Object = dg.Rows(dg.CurrentRow.Index).Cells(0).Value 
     dg.Rows(dg.CurrentRow.Index).Cells(1).Value = retreivedValue 
     dg.CurrentCell = dg.Rows(dg.CurrentRow.Index).Cells(1) 
     dg.BeginEdit(True) 
    End If 
End Sub 
+0

你想捕获在datagridview中更改combox值吗? – JKhuang 2012-01-10 09:37:38

回答

0

使用CellValueChanged事件,然后检查由用户选择什么样的列,那么你可以retreive值。这里的一个例子:

Private Sub yourGrid_CellValueChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles yourGrid.CellValueChanged 
    If e.ColumnIndex = yourComboColumn.Index Then 
     Dim retreivedValue As Object = yourGrid(e.ColumnIndex, e.RowIndex).Value 
    End If 
End Sub 
+0

部分工作,它将值存储在变量中,但是当我添加声明来更改coloumnindex时,它没有这样做。 dg.CurrentCell = dg.Rows(dg.CurrentRow.Index).Cells(1) dg.BeginEdit(True) – 2012-01-10 09:52:01

+0

对不起,但我需要更多信息。你把这些代码放在哪里?在CellValueChanged事件里面?你可以发布更多的代码吗? – Flaick 2012-01-10 10:03:53

+0

私人小组dg_CellValueChanged(BYVAL发件人为对象,BYVALË作为System.Windows.Forms.DataGridViewCellEventArgs)把手dg.CellValueChanged 如果flgLD = 1然后 昏暗retreivedValue作为对象= dg.Rows(dg.CurrentRow.Index).Cells( 0)。值 dg.Rows(dg.CurrentRow.Index).Cells(1).Value = retreivedValue dg.CurrentCell = dg.Rows(dg.CurrentRow.Index).Cells(1) dg.BeginEdit(True ) End If End Sub – 2012-01-10 10:20:04