public function pageLoad(): void {
$this->CustomActions["VB"] = new ListAction("VB", "Visto Bueno", Allowed: IsLoggedIn(),Method:ActionType::POSTBACK , Select: ActionType::MULTIPLE);
}
public function rowCustomAction(string $action, BaseEntity $row): bool {
if ($action == "VB") {
$newRow = ["VB_JefeObra" => "SI"];
$result = $this->update($newRow, ["id_parte" => $row["id_parte"]]);
if (!$result) { // Failure
$this->setFailureMessage("Failed to update record, ID = " . $row["id_parte"]);
return false; // Abort and rollback
} elseif ($this->SelectedIndex == $this->SelectedCount) { // Last row
$this->setSuccessMessage("Se han actualizado todos los partes seleccionados");
}
return true; // Success
}
return true;
}
In v2022 version, after update the page I got the refreshed data showing.
Now in v2026 version, I get the success message, but the data don't change.
It's updated in the db and it's updated if I refresh the page with F5.
I've tried with POSTBACK,REDIRECT and AJAX method with the same result.
Thanks for the answer. I’ve rewrited the script according example 3. Just code in Page_Load and not in row_customaction:
public function pageLoad(): void {
$this->CustomActions["vb_jdo"] = new ListAction(
"vb_jdo",
"Dar VB (JdO)",
IsLoggedIn(),
ActionType::POSTBACK, // Tested AJAX, POSTBACK, REDIRECT
ActionType::MULTIPLE,
"¿Confirmar VB para los partes seleccionados?",
"fa-solid fa-check ew-icon",
"",
function ($row) {
return $this->update(
["VB_JefeObra" => "SI"], // SET
["id_parte" => $row["id_parte"]] // WHERE
) > 0;
},
"Success message",
"Error message"
);
}
Same behaviour, I get the “Success message”, the fields are updated, but the page not refresh the updated values. If I press F5, then I get the updated values