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]);
}