Zatrzymanie bindowania w innych oknach podczas modyfikacji

0

Cześć, załóżmy taką sytuację. Mam jakieś dane w gridzie. I teraz, gdy klikam dwukrotnie na rekord, pojawia mi się okienko do modyfikacji elementu. Gdy teraz modyfikuję poszczególne pola w okienku modyfikacji, ta modyfikacja jest OD RAZU widoczna na gridzie. Zmieniam Name - automatycznie zmienia się na gridzie. To wygląda dość dziwnie. Próbowałem o ogarnąć za pomocą ręcznej aktualizacji źródła, ale wtedy były problemy z walidacją danych. Więc wpadłem na pomysł, żeby do edycji przekazywać dokładną kopię elementu zamiast elementu z grida. Czy są jakieś lepsze rozwiązania na to?

0

Grid, czy DataGrid?
A kiedy chcesz mieć zaktualizowane dane w tej tabeli?

0

Robienie kopii jest najlepszym rozwiązaniem, dzięki temu nie tylko unikasz opisanego efektu, ale również masz możliwość anulowania edycji.

0

Edycję nauczyłem się anulować za pomocą BindingGroup. I z tym nie ma problemu, natomiast no jest inny. Ale skoro kopia jest najlepszym rozwiązaniem, no to nie pozostaje nic innego.
Teraz tylko pytanie rozchodzi się o dobre rozwiązanie. Mój obiekt zawiera dzieci, które mogą zawierać dzieci itd. Na tym etapie nie ma opcji, żeby modyfikować dzieci (robi się to inaczej). Więc bez sensu jest robienie kopii całego obiektu. Wychodzi, że shallow copy będzie dobrym rozwiązaniem. Ale co ze stringami? Jeśli cały obiekt będzie poddany shallow copy, ale stringi będą już deep copy (string.copy), to czy jest to dobre rozwiązanie? A może powinienem bardziej robić to przez jakiegoś buildera metodą w stylu: "CopyElementToEdit"
@nerdxg Oczywiście miałem na myśli DataGrid :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1