2016-10-15 11 views
-1

現在、SQLバックエンドでVB.NET Visual Studio Professionalを使用しています。私はDataGridView 2つのCheckBoxの列の位置0と1の列を持つ部分の一覧を設定します。0の位置のチェックボックス列は "完全"とラベルされ、1の位置のチェックボックス列は "不足"とマークされます。オペレータが部品をカットすると、どちらかの列のチェックボックスを使用して行が完全または不足としてマークされます。部品が見つからない場合、ユーザが「欠落」列のチェックボックスをクリックすると、新しいフォームがダイアログの結果として開きます。この時点で、新しいフォームが開き、欠落している列の下のその行のチェックボックスがチェックされます。しかし、オペレータはダイアログ結果のボタンをクリックしてエントリをキャンセルすることができます。私の問題はここで発生します。キャンセルボタンをクリックするとフォームが閉じますが、元のDGVのチェックボックスはチェックされたままになりますが、なんらかの理由でチェックを外すことができません。 DGVはSQLテーブルにバインドされたデータですが、最初の2つのチェックボックス列はデザインフォームに手動で追加されます。このチェックボックスをオフにして自分自身のチェックを外す方法に関するアドバイスはありますか?ここに私のコードはここまでです:特定のDGVセルのチェックボックスをオフにする方法

ElseIf dr = Windows.Forms.DialogResult.Cancel Then 
    MsgBox(Row_Index) 
    MsgBox(DGVList.CurrentCell.ColumnIndex) 
    'DGVList(Row_Index, 1).Value = True 
    DGVList(DGVList.CurrentCell.ColumnIndex, DGVList.CurrentCell.RowIndex).Value = False 
    'DGVList("Missing", Row_Index).Value = False 
    MsgBox("Hot part has been canceled by user. This part will not be marked as missing.") 
End If 

row_indexは、サブの先頭で宣言され、両方のメッセージボックスが正しい位置に相関するように見えます。この脳の興奮に加えて、行2と行4ではコードは機能しますが、他の場所では機能しません。

+0

[チェックまたはオフする前に、DataGridViewのチェックボックスに表示するメッセージボックス](http://stackoverflow.com/questions/39529146/show-messagebox-on-datagridview-checkbox-before-check-or-uncheck) –

+0

OK – Cheddar

+0

@RezaAghaeiチェックの前にチェックボックスを表示してチェックを外して、正しい行と列の位置を返します。 – Cheddar

答えて

0

私はそれを理解しました。なぜ私はこのようにしなければならないのか分かりませんが、それは機能します。

Dim val1 as DataGridViewCheckBoxCell = DGVList(DGVList.CurrentCell.ColumnIndex, DGVList.CurrentCell.RowIndex) 
val1.value = false 
関連する問題