Ändern des Werts in ASPxGridView.OnCustomCallback wenn Sie sich bereits im Bearbeiten-Modus nicht speichern Sie den neuen Wert
Ich habe eine ASPxGridView angezeigt, um den Benutzer mit dem Befehl Bearbeiten-button. Wenn der Benutzer auf die Befehlsschaltfläche Bearbeiten der ausgewählten Zeile wechseln Sie in die edit-form.
In der edit-form habe ich eine Steuerung, die, wenn geklickt wird eine benutzerdefinierte callback über javascript, die benutzerdefinierte callback-handler wird dann ändern Sie den Wert auf der gewählten Zeile und rufen Sie UpdateEdit() zum speichern der eingegebenen Werte und Rückkehr in den regulären grid-Ansicht-layout.
Aber der neue Wert nicht gespeichert werden, um die zugrunde liegende Datenquelle, in der Tat, wenn ich Debuggen der DataSourceControl die ExecuteUpdate-Methode sehe ich den aktualisierten Wert in die oldValues Sammlung und die Werte, die Sammlung hat den ursprünglichen Wert.
Das javascript, das heißt, die aus der Kontrolle in der editform:
javascript:grid.PerformCallback("CloseOrder");
Die benutzerdefinierte callback-handler, die auf dem server läuft:
protected void gdOrders_CustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs e) {
if (e.Parameters == "CloseOrder") {
var row = gdOrders.GetDataRow(gdOrders.EditingRowVisibleIndex);
row["Status"] = 5;
gdOrders.UpdateEdit();
}
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich die folgende Lösung gefunden, um zu arbeiten. Ich bin nicht sicher, es ist der richtige Weg aber es funktioniert.