¿Cómo se supone que el enlace de datos en C# WinForms funciona cuando tiene un botón Guardar? ¡No quiero que se actualicen los datos hasta que presione Guardar!WinForms enlace de datos con un botón Guardar?
Tengo dos formularios (lista y detalle) respaldados por una colección BindingList<T>
y mi objeto personalizado de esa colección, respectivamente. Puedo vincular cada formulario a la lista u objeto de manera apropiada. Sin embargo, cualquier cambio realizado en el formulario de detalles se refleja inmediatamente en el formulario de la lista; no deseo guardar los cambios y actualizar los detalles que se muestran en la lista hasta que se presione el botón Guardar.
¿Está diseñado el enlace de datos para soportar esto? ¿Hay un patrón común para hacerlo?
De cualquier modo que lo mire, el enlace no parece ser capaz de soportar este escenario. He pensado en lo siguiente:
Pasar un clon del objeto al formulario de detalles, pero luego tengo que reconciliar los cambios en Guardar - se hayan realizado cambios en la copia de la lista en el ínterin .
La implementación
IEditableObject
y llamandoEndEdit
de ahorrar casi funciona como puedo evitar que la lista se notifica de los cambios realizados hasta que se pulse Guardar, pero si algo provoca una actualización de la lista se actualiza con los datos provisionales.
Actualmente estoy dejando de prescindir del enlace de datos en mi vista detallada, y hacerlo todo de forma manual. Lo cual es bastante molesto