Buenos días:
Tengo un form con varios grids los cuales se rellenan desde SQL Server 2005
y sincronizados con un treeview. Puesto que la operación que más se demora
en ocasiones es la transferencia de registros de la BD, estaba pensando en
utilizar hilos o la clase backgroundworker, pero las primeras experiencias
no han sido buenas.
Digamos que la lógica que intento apartar en un hilo es ese fill que he
comentado, el cual tengo integrado en una clase. Generalmente lo que hago es
mandar a un método como parámetro una referencia a esa clase y ejecutar el
método de llenado.
Si uso la instrucción:
CheckForIllegalCrossThreadCalls = false;
puedo utilizar hilos o backgroundworker y funciona sin problemas, pero sólo
a simple vista, ya que debe entrar en conflicto con el dibujado del grid y
desaparece la barra vertical de desplazamiento. Si elimino esa instrucción,
no se produce la carga de los datos en el grid. Yo supongo que los tiros van
por usar una referencia dentro de la propia lógica del hilo, pero a priori
no veo otra forma.
¿Alguien me sabría decir una forma elegante y eficaz de resolver esta
situación?
Gracias
Leer las respuestas