Foros del Web » Programando para Internet » ASPX (.net) »

C# Llenar y Mostrar un DataGrid

Estas en el tema de C# Llenar y Mostrar un DataGrid en el foro de ASPX (.net) en Foros del Web. Hola! Quisiera que al dar click en un boton me llene un DataGrid, pero no me está mostrando el datagrid, no se por qué?? Primero ...
  #1 (permalink)  
Antiguo 25/05/2006, 08:34
 
Fecha de Ingreso: mayo-2006
Mensajes: 243
Antigüedad: 17 años, 11 meses
Puntos: 0
Pregunta C# Llenar y Mostrar un DataGrid

Hola!

Quisiera que al dar click en un boton me llene un DataGrid, pero no me está mostrando el datagrid, no se por qué??

Primero agregué el DataGrid a mi form y lo llame: dgEmpresas y un botón de buscar: btBuscar

Este es mi código:

Código:
private void btnBuscar_Click(object sender, System.EventArgs e)
		{
			string strConexion = this._appconfig.GetConfig("Conexiones","ContenidoPrueba");
			FillDataGrid(this.ddlRamo.SelectedValue,this.ddlCategoria.SelectedValue, strConexion);
		}

		private void FillDataGrid(string vRamo, string vCategoria, string strConexion)
		{
			string vPalabra = null;
			int vTipo = 1;
			SqlConnection sqlConexion = null;	 
			SqlCommand sqlComando = null; 
			// Creamos la conexión
			sqlConexion	= new SqlConnection(strConexion);
			sqlComando = new SqlCommand("LstEmpresas " + vRamo + vCategoria + vPalabra + vTipo , sqlConexion);
			try 
			{
				sqlConexion.Open();
				SqlDataAdapter da = new SqlDataAdapter(sqlComando);
				//Llenar el Dataset
				DataSet ds = new DataSet();
				da.Fill(ds, "Empresas");
				//Configurar el DatGrid
				DataGrid dgEmpresas = new DataGrid();
				Page.Controls.Add(dgEmpresas);
				//Ligar el datagrid con la fuente de datos
				dgEmpresas.DataSource = ds;
				dgEmpresas.DataMember = "Empresas";
				dgEmpresas.DataBind();
			} // try
			
			catch // (Exception e) // Exception Removed
			{
				return;
				//throw new Exception("Error in FillDropDownLit -> " + e.ToString());
			} // catch
			finally
			{
				sqlComando.Dispose();
				sqlConexion.Close();    // Close Connection
				sqlConexion.Dispose();  
			}
			return;
		}
	}
No se por que no me muestra el DataGrid

... Me faltó comentar que cuando le doy click al botón me marca el siguiente error:

Directory Listing Denied
This Virtual Directory does not allow contents to be listed.

Última edición por Emerald; 25/05/2006 a las 08:58
  #2 (permalink)  
Antiguo 25/05/2006, 09:34
 
Fecha de Ingreso: mayo-2006
Mensajes: 243
Antigüedad: 17 años, 11 meses
Puntos: 0
La solución

Ya tengo la solucion, la comparto con ustedes:

Código:
private void btnBuscar_Click(object sender, System.EventArgs e)
		{
			string vRamo = this.ddlRamo.SelectedValue;
			string vCategoria = this.ddlCategoria.SelectedValue;
			string strConexion = this._appconfig.GetConfig("Conexiones","ContenidoPrueba");

						
			// Creamos la conexión
			sqlConexion	= new SqlConnection(strConexion);
			sqlComando = new SqlCommand("LstEmpresas", sqlConexion);
			sqlComando.CommandType = CommandType.StoredProcedure; 
			sqlComando.Parameters.Add (new SqlParameter("@RamoId",SqlDbType.Int,4));
			sqlComando.Parameters.Add (new SqlParameter("@CategoriaId",SqlDbType.Int,4));
			sqlComando.Parameters["@RamoId"].Value = this.ddlRamo.SelectedValue;
			sqlComando.Parameters["@CategoriaId"].Value = this.ddlCategoria.SelectedValue;
			sqlConexion.Open();
			SqlDataAdapter da = new SqlDataAdapter(sqlComando);
			//Llenar el Dataset
			DataSet ds = new DataSet();
			da.Fill(ds, "Empresa");
			//Configurar el DatGrid
			DataGrid dgEmpresas = new DataGrid();
			Page.Controls.Add(dgEmpresas);
			//Ligar el datagrid con la fuente de datos
			dgEmpresas.DataSource = ds;
			dgEmpresas.DataMember = "Empresa";
			dgEmpresas.DataBind();
			sqlComando.Dispose();
			sqlConexion.Close();    // Close Connection
			sqlConexion.Dispose();  
		}
Si alguien tiene una mejor solucion o comentario, se los agradezco ya que son mis primeros aspx que hago...

gracias!
  #3 (permalink)  
Antiguo 25/05/2006, 10:57
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
me llama la atencion la forma en que cargas tu datagrid., no sería más fácil colocar el control desde un pricipio en tu modo design para que no tengas la necesidad de hacer ésto:

Page.Controls.Add(dgEmpresas);

Además no estas guardando state (aunque no se si lo vayas a necesitar) puede que lo necesites...
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #4 (permalink)  
Antiguo 25/05/2006, 10:57
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
... tambien de paso te mando al subforo de web forms..

movido desde foro de .net
  #5 (permalink)  
Antiguo 27/05/2006, 11:00
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 19 años, 10 meses
Puntos: 6
Si, cuando haga postback tu pagina puede que se pierda tu datagrid... lo mejor es como te dice el rootK, usalo en modo de diseño para que te tu datagrid use viewstate...

Si no has leido lo del viewstate te lo recomiendo...
Saludos
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 13:07.