2016-10-13 9 views
0

Ich habe einen Code hier, aber es funktioniert nicht .. was ich versuche zu tun ist, wenn das Meldungsfeld erschien und fragen, ob ich fortfahren und wählen Sie dann die ausgewählte Checkbox wird Ändern Sie den Wert in false.vb.net Unchecked Kontrollkästchen in Datagridview programmatisch

If e.ColumnIndex = 0 Then 
     If e.RowIndex >= 0 And e.RowIndex <= Me.dgDispatchPosting.RowCount - 1 Then 
      If Me.dgDispatchPosting.Item("Approve_Status", e.RowIndex).Value <> "No Action" Then 
       If Me.dgDispatchPosting.Item("chkSelect", e.RowIndex).Value = False Then 
        If MsgBox("This Dispatch Code has been " & vbCrLf & "Do you want to proceed? " & Me.dgDispatchPosting.Item("Approve_status", e.RowIndex).Value & "!", vbQuestion + vbYesNo, "Courier Dispatch Summary ") = MsgBoxResult.No Then 
         Me.dgDispatchPosting.Item("chkSelect", e.RowIndex).Value = False 'Must change the value here (Uncheck) 
        End If 
       End If 
      End If 
     End If 
    End If 
+1

In der Zeile vor dem Meldungsfeld prüfen Sie, ob 'chkSelect' false ist. Dann zeigen Sie das Meldungsfeld an und wenn sie Nein drücken, setzen Sie es erneut auf "false". Ich vermute, dass Sie die Zeile vor MsgBox ändern möchten, um zu überprüfen, ob es wahr ist? Ansonsten gibt es nichts für den Code zu tun. – FloatingKiwi

+0

Der Code befindet sich unter _CellContentClick, die Zeile vor dem Nachrichtenfeld prüft, ob das angeklickte/markierte Kontrollkästchen deaktiviert ist. Wenn das ausgewählte Kontrollkästchen noch nicht aktiviert ist, wird das Nachrichtenfeld angezeigt, aber wenn das Kontrollkästchen aktiviert ist, wird das Nachrichtenfeld angezeigt up..Dann, wenn ich NO klicke, wird das angeklickte/checked check auf false gesetzt. –

+0

Ihr letzter Kommentar ergibt keinen Sinn. Sie sagen: "Wenn das ausgewählte Kontrollkästchen noch nicht aktiviert ist, wird das Meldungsfeld geöffnet", dann sagen Sie: "Wenn das Kontrollkästchen bereits aktiviert ist, wird das Meldungsfeld angezeigt." Laut Ihrem Code wird das Meldungsfenster nur angezeigt von 'chkSelect' ist falsch. Dann setzen Sie es direkt auf false zurück, was der aktuelle Wert ist. – FloatingKiwi

Antwort

0

Ich habe die Antwort auf wie die Checkbox in datagridview..i nur selec/Fokus in der anderen Spalte/Zeile deaktiviert, sobald das Kontrollkästchen Wert zu ändern.

If Me.dgDispatchPosting.Item("chkSelect", e.RowIndex).Value = True Then 
        If MsgBox("This Dispatch Code has been " & Me.dgDispatchPosting.Item("Approve_status", e.RowIndex).Value & "!" & vbCrLf & "Do you want to proceed? ", vbQuestion + vbYesNo, "Courier Dispatch Summary ") = MsgBoxResult.No Then 
         Me.dgDispatchPosting.Item("chkSelect", e.RowIndex).Value = False 'Must change the value here (Uncheck) 
         Me.dgDispatchPosting.Item("Approve_status", e.RowIndex).Selected = True 'After Changing the value you must select/ focus in the other column or row to take effect the changes you made in code. 
        End If 
       End If 
Verwandte Themen