Foros del Web » Programación para mayores de 30 ;) » .NET »

Barra de progreso

Estas en el tema de Barra de progreso en el foro de .NET en Foros del Web. Como hago para que cuando se de un proceso por ejemplo, cargar una consulta de la base de datos o cargar un reporte grande, pueda ...
  #1 (permalink)  
Antiguo 26/02/2008, 12:46
 
Fecha de Ingreso: febrero-2008
Mensajes: 36
Antigüedad: 16 años, 2 meses
Puntos: 0
Barra de progreso

Como hago para que cuando se de un proceso por ejemplo, cargar una consulta de la base de datos o cargar un reporte grande, pueda ver el proceso de carga por medio de una barra de progreso
  #2 (permalink)  
Antiguo 26/02/2008, 13:01
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Barra de progreso

windows o web??
  #3 (permalink)  
Antiguo 26/02/2008, 17:45
 
Fecha de Ingreso: febrero-2008
Mensajes: 36
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: Barra de progreso

Con windows
  #4 (permalink)  
Antiguo 26/02/2008, 19:00
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Barra de progreso

Llama a los eventos asincronos de llenado de tu informacion

SI deseas solo usar un progressbar utilizar un BackgroundWorker y definelo como ReportsProgress=true. y en el dowork define tu tarea.

si no, usa carga asincrona de tu datareader con el BeginExecuteReader() asi lo q haces es llenar a tu reader por detras y no congelar tu app. (un poco mas complicado)

saludos
peter
  #5 (permalink)  
Antiguo 26/02/2008, 19:03
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Barra de progreso

public partial class Form1 : Form
{
SqlConnection con = new SqlConnection("Data Source=.;initial catalog=Deepra;uid=sa;pwd=;Asynchronous Processing=true;");
ArrayList DataHolder = new ArrayList();
public Form1()
{
InitializeComponent();
}

private void BtnPopulate_Click(object sender, EventArgs e)
{
SqlCommand com = new SqlCommand("select * from student", con);
con.Open();
AsyncCallback callback = new AsyncCallback(DataReaderIsReady);
IAsyncResult result = com.BeginExecuteReader(callback, com);
}

private void DataReaderIsReady(IAsyncResult result)
{
SqlCommand com = (SqlCommand)result.AsyncState;
SqlDataReader rd = com.EndExecuteReader(result);
if (rd.HasRows)
{
foreach (DbDataRecord rec in rd)
{
DataHolder.Add(rec);
}
}
rd.Close();
con.Close();
MessageBox.Show("Results Load Complete", "I'm Done");
}

private void BtnBind_Click(object sender, EventArgs e)
{
dataGridView1.DataSource = DataHolder;
}
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:05.