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

DataGrid problem!!

Estas en el tema de DataGrid problem!! en el foro de ASPX (.net) en Foros del Web. Hola foreros, la cosa es que quiero que un DataGrid me muestre unos registros dependiendo la seleccion en un DropDown pero me da problemas este ...
  #1 (permalink)  
Antiguo 17/07/2006, 05:30
 
Fecha de Ingreso: febrero-2005
Mensajes: 108
Antigüedad: 19 años, 2 meses
Puntos: 0
DataGrid problem!!

Hola foreros, la cosa es que quiero que un DataGrid me muestre unos registros dependiendo la seleccion en un DropDown pero me da problemas este código. Lo que hago es que si selecciona "all" pues me haga la consulta para mostrarme todos los registros y en caso contrario los que tengan un id_cliente específico. la cosa es que al cargar la pagina por defecto muestro TODOS y el Grid carga bien, pero al seleccionar cualquier otro de la lista me dice que el campo "empresa" no se encuentra en el field list...no se si hago algo mal con el dataset....a ver si podéis aconsejarme algo por favor. Un saludo.

private void Cargar_datos()
{
misql bf = new misql();

MySqlConnection con= bf.Crea_Conexion();

string consulta="Select nombre_proyecto as Proyecto, empresa as Cliente, id_proyecto as ID from proyectos p, clientes c where p.id_cliente=c.id_cliente";

MySqlCommand miCmd= new MySqlCommand(consulta,con);

if (ddlEmpresa.SelectedValue.ToString()!="all")
{
consulta="Select nombre_proyecto, empresa, id_proyecto from proyectos p where p.id_cliente=?id";
miCmd.Parameters.Add("?id",MySqlDbType.VarChar).Va lue=ddlEmpresa.SelectedValue.ToString();
miCmd.CommandText=consulta;
}

MySqlDataAdapter miDA= new MySqlDataAdapter(miCmd);


DataSet ds= new DataSet();

miDA.Fill(ds,"proyectos");

dgProyectos.DataSource = ds.Tables["proyectos"];

dgProyectos.DataBind();

con.Close();
  #2 (permalink)  
Antiguo 17/07/2006, 12:38
Avatar de sixto.jose  
Fecha de Ingreso: marzo-2006
Ubicación: Medellin-Colombia
Mensajes: 63
Antigüedad: 18 años, 1 mes
Puntos: 0
la funcion la estas ejecutando donde en el load de la página si es a sí cuando hagas alguna accion con el Dropdownlist "Autopostback" vuelve a cargar la página y a la vez vuelve a ejecutar la funcion que tiene y enseguida te carga de nuevo el grid y se pierde la condicion que haces en el where,

este problema lo tuve hace un día y el problema era éste

salud2
__________________
agnus dei
  #3 (permalink)  
Antiguo 18/07/2006, 08:24
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, Jalisco, México
Mensajes: 724
Antigüedad: 20 años
Puntos: 6
Lo más seguro es que tu problema actual vuelves a cargas el DropDownList cuando hace postback...
haz esto:

//En el load unicamente
if (!IsPostBack)
{
//Tus cargas de datos iniciales....
Cargar_datos();
}

//En el SelectedIndexChanged de tu dropdown..
Cargar_datos();
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 13:48.