Ver Mensaje Individual
  #12 (permalink)  
Antiguo 16/04/2007, 17:55
Avatar de zacktagnan
zacktagnan
 
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Re: Parámetros en el Clic del LinkButton

Cita:
creo que por ahi hubiéramos empezado jejeje, para el DataGrid es ItemCommand
Bueno un despiste lo ¿¿tiene cualquieraaaa??

Una duda, quizás absurda, que me ha surgido.

Yo lo que quiero aplicar al hacer clic en el LinkButton, con los parámetros ya mencionados de peli_id y peli_activo, es cambiar el valor booleano de éste último (si es true, pasarlo a false y viceversa), con lo siguiente:
Código:
	bool el_estado = bool.Parse(estado);
	string valor_peli_activo = "";
	//CAMBIO DE ESTADO DEL PRODUCTO
	if(el_estado == true)
	{
		//EN LA TABLA EL CAMPO peli_activo ES DE TIPO bit
		valor_peli_activo = "0";
	}
	else
	{
		valor_peli_activo = "1";
	}

	string sql = "UPDATE PELICULAS SET peli_activo = " + valor_peli_activo + " WHERE peli_id = '" + el_codigo + "'";
	SqlCommand comandoActualizar = new SqlCommand(sql, conexion);

	try
	{
		comandoActualizar.Connection.Open();
		comandoActualizar.ExecuteNonQuery();//EJECUTANDO CONSULTA DE ACTUALIZACIÓN
		conexion.Close();
	}
	catch(SqlException laexActDesactProd)
	{
		Response.Write("Se ha producido un error al querer cambiar el ESTADO del producto y la operaci&oacyte;n se ha cancelado:<br />" + laexActDesactProd.Message);
	}
La pregunta es: ¿este código va dentro del evento ItemCommand del DataGrid ? (no dentro de MyFunction(Container.DataItem) ¿verdad?

Si es dentro del ItemCommand del DataGrid, y respetando el orden de recogida de los parámetros en el MyFunction (return container.Row["peli_id"].ToString() + ";" + container.Row["peli_activo"].ToString();) puesto en el ejemplo, para recoger los valores de los parámetros desde el Array generado, ¿sería así?:

Código:
...
        if (e.CommandName == "MyLink") { 
            string[] arrFields = e.CommandArgument.ToString().Split(new char[] {';'});
            string el_codigo = arrFields[0];
            bool el_estado = bool.Parse(arrFields[1]);
        }
__________________
Saludos,

zacktagnan.
=================================================