jueves, 17 de febrero de 2011

llenar gridview asp.net

Como llenar un control gridview con c#, ADO.net, Stored Procedure


Iniciemos creando un Stored Procedure el cual regresa empleado, nombre, paterno, materno
CREATE PROCEDURE [dbo].[GetEmployee]
@id_emp int
AS
BEGIN
IF @id_emp <> 0
select empleado,paterno,materno,nombre from empleados_tya
where id_empleado=@id_emp
ELSE
select empleado,paterno,materno,nombre from empleados_tya
END

Una vez realizado este Stored procedemos con lo siguiente.
public DataSet CargaGrid(int iId)
{
string sCon = "Data Source=XAVIERF-PC;Initial Catalog=Eslabon_TyA_Lambi;User ID=****; Password=*****";
SqlConnection oCOn = new SqlConnection(sCon);
SqlDataAdapter da = new SqlDataAdapter("GetEmployee", sCon);
da.SelectCommand.CommandTimeout = 0;
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.Add("@id_emp", SqlDbType.Int).Value = iId;
DataSet ds = new DataSet();
try
{
da.Fill(ds);
da.Dispose();
return ds;
}
catch (Exception ex)
{
throw ex;
}

}


Ahora Agregas el siguiente código HTML dentro del tag <body>


Este es el evento del botón, al dar clic caerá aquí

protected void btnCarga_Click(object sender, EventArgs e)
{
try
{
//Creamos objeto de negocio
BusCargaGrid oCargaGrid = new BusCargaGrid();
int iIdEmp = Convert.ToInt32(txtEmp.Text==string.Empty ? "0" : txtEmp.Text);
DataSet ds = oCargaGrid.CargaGrid(iIdEmp);
grvEmpleados.DataSource = ds;
grvEmpleados.DataBind();
}
catch (Exception ex)
{
string sScript = @" ";
Page.ClientScript.RegisterStartupScript(Page.GetType(), "Error Grid", sScript);
}
}

6 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. Hola, soy novata y ya realice lo que muestras, pero requiero llenar el gridview con dos consultas provenientes de la BD, hacer un tipo de append al grid, sabes la mejor forma de hacerlo.

    ResponderEliminar
  3. Gracias, me ha servido mucho tu tutorial !!

    ResponderEliminar