Tengo un objeto personalizado que implementa INotifyPropertyChanged. Tengo una colección de estos objetos donde la colección se basa en BindingList He creado un origen de enlace para la colección y establezco las fuentes de datos de bindingsource y datagridview.¿Cómo se actualiza correctamente una vista de datos datagrid de un hilo de fondo?
Todo funciona muy bien, excepto que necesito actualizar las propiedades en el objeto personalizado desde los hilos de fondo. cuando lo hago, aparece el siguiente error:
BindingSource no puede ser su propia fuente de datos. No establezca el DataSource y DataMember a valores que informenos de nuevo a BindingSource
me encontré con el siguiente post que parece tener mi problema exacto (y solución?), Pero no acabo de entenderlo.
que crea e inicializa las variables oper por el puesto en mi objeto de negocio, y luego puse las dos funciones de eventos en mi clase de colección. Esto compilado correctamente, pero se cuelga sin excepción cuando se ejecuta.
He visto muchas publicaciones que dicen usar Invoke/Begin Invoke, pero no estoy llamando a ninguna función en la interfaz de usuario, simplemente actualizando objetos comerciales, por lo que no estoy seguro de dónde ubicaría las llamadas de invocación.
Una restricción: quiero que el objeto comercial no sepa quién lo muestra (ya que hay varios consumidores), por lo que enviar referencias de GUI al objeto comercial para poder invocar luego utilizando esas referencias no es una opción.
@Marc Gravell [Sé que la publicación es antigua pero ... Al crear una instancia de otra lista ThreadedBindingList (mi lista), no hay un método para esto. ¿No debería estar el método allí para que sea 'completo' o habría un problema de enhebrado? – Stix