2012-01-10 14 views
-1

私はそこにいくつかの値を持つdatagridviewコンボボックスを持っています。私はユーザーがクリックしたものをキャプチャしようとしています。私はCellValueChangedCellContentClickedなどを試しましたが、何も動作しません。Datagridviewコンボボックスの値

この値を変数に保存し(重要)、ユーザーが値を選択した後にカーソルを列に移動します。

助けてください。また、どのようなイベントを起こすべきかアドバイスしてください。

おかげ

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

答えて

0

使用CellValueChangedイベントは、ユーザによって選択されたものを柱チェックし、その後は値を盗んことができます。ここでは例:

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) –

+0

申し訳ありませんが、もっと情報が必要です。あなたはそのコードをどこに置いていますか?内部CellValueChangedイベントですか?もっとコードを投稿できますか? – Flaick

+0

プライベートサブdg_CellValueChanged(ByVal送信者としてオブジェクト、ByVal eとしてSystem.Windows.Forms.DataGridViewCellEventArgs)dg.CellValueChangedを処理する flgLD = 1の場合 Dim retreivedValueオブジェクトとしてdg.Rows(dg.CurrentRow.Index)。セル0)。値 dg.Rows(dg.CurrentRow.Index).Cells(1).Value = retreivedValue dg.CurrentCell = dg.Rows(dg.CurrentRow.Index).Cells(1) dg.BeginEdit(True) ) 終了の場合 End Sub –

関連する問題