VB.NETクラスにデータグリッドがあります。セルは編集可能です。各セルが編集されたときに関数をトリガーする方法はありますか?
質問する
8660 次
2 に答える
3
はい、CellValueChangedイベント:http: //msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.cellvaluechanged.aspx
Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
'do something
End Sub
あなたのコメントによるとEDIt:はい、BeginEditのクラスレベル変数に現在の値を保存し、CellValueChangedイベントでそれを取得することができます:
Private cellValue As String = String.Empty
Private Sub DataGridView1_CellBeginEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles DataGridView1.CellBeginEdit
cellValue = DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value.ToString
End Sub
Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
MessageBox.Show("row index: " & e.RowIndex & Environment.NewLine & "old value: " & cellValue)
End Sub
于 2012-12-10T14:43:50.153 に答える
1
しかし、CellValueChanged イベントは、入力が完了していなくても、キーダウン アクションごとにメッセージを返します。この事実はいらいらさせられます。
于 2013-04-29T10:15:56.390 に答える