Dataset y Threads

13/08/2004 - 15:22 por Joan Carles Jiménez | Informe spam
Hola a tod@s.

Tengo un par de problemas que no encuentro solución.

1) Tengo un dataset que me gustaria cargar en otro hilo para no bloquear la
aplicació/ordenador en caso de que el numero de registros sea elevado. He
mirado como lo hace los ejemplos del .NET pero parece ser que no funcionan
del todo bien. Cuando hago el fill del dataset, se queda clavado hasta que
ha acabado de cargar los registros. ¿Alguna idea (o esquema) de como montar
el sistema?

2) Una vez cargado el dataset, lo muestro en un datagrid. En la carga
inicial, el indice del dataset y del datagrid coinciden y cuando hago click
sobre una fila del datagrid, muestro la información en la ficha del registro
haciendo coincidir los índices. El problema està cuando ordeno alguna
columna del datagrid. Los indices ya no coinciden. ¿Cómo puedo saber la
posición del dataset a la cual pertenece un registro del datagrid?

Espero haberme explicado bien. Sinó, aquí estoi para aclarecer cualquier
duda. Gracias por adelantado.

Joan Carles Jiménez
jcjimenez@infomail.lacaixa.es
 

Leer las respuestas

#1 pablo crosio
13/08/2004 - 18:16 | Informe spam
hola!

te paso un ejemplo para 1):

using System;
using System.Threading;
using System.Data;
using System.Data.OleDb;

public class HebraDeTrabajo
{
public static void HacerTrabajo()
{
DataSet ds = new DataSet();
OleDbDataAdapter da = new OleDbDataAdapter("SELECT *
FROM xxx", new OleDbConnection("Provider=...;Data
Source=...;..."));
da.Fill(ds);
Console.WriteLine("ds.Tables[0].Rows.Count: {0}",
ds.Tables[0].Rows.Count);
}
}
class HebraPrincipal
{
public static void Main()
{
ThreadStart miDelegado = new ThreadStart
(HebraDeTrabajo.HacerTrabajo);
Thread miHebra = new Thread(miDelegado);
miHebra.Start();
for(int i = 0; i<10; i++)
{
Console.WriteLine("Hebra principal activa.");
Thread.Sleep(1000);
}
}
}

fijate que el mensaje sale sin bloquerse mientras se carga
el DataSet

con respecto a 2) realmente no entiendo el problema
hoy es viernes!

salu2!!

pablo



Mostrar la cita
para no bloquear la
Mostrar la cita
sea elevado. He
Mostrar la cita
que no funcionan
Mostrar la cita
clavado hasta que
Mostrar la cita
esquema) de como montar
Mostrar la cita
En la carga
Mostrar la cita
cuando hago click
Mostrar la cita
ficha del registro
Mostrar la cita
ordeno alguna
Mostrar la cita
puedo saber la
Mostrar la cita
datagrid?
Mostrar la cita
aclarecer cualquier
Mostrar la cita

Preguntas similares