Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/11/2008, 12:05
daniel00
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 18 años, 2 meses
Puntos: 8
Problema en Grid View Personalizado.

Que tal.

He creado a partir del control GridView un grid personalizado.

He definido que la primer columna de ese grid sea un botón que elimine el registro y lo defino en el evento OnDataBinding

Código:
...
ButtonField  buttonField = new ButtonField();

buttonField.ButtonType = ButtonType.Image;
buttonField.ImageUrl = "/Image/delete.gif";
buttonField.HeaderText = "Delete";
buttonField.CommanName = "del";

base.Columns.Add(buttonField);
...
base.DataSource = dataSource;
base.OnDataBinding(e);

...
El problema viene cuando le doy click al boton eliminar del renglón que se va al evento OnRowCommand, pero lo hace dos veces.

No he encontrado la causa por la cual se hace postback dos veces y obviamente me causa problemas.

Hice una prueba cambiando la forma de crear esa columna, por un link, es decir:

Código:
buttonField.ButtonType = ButtonType.Link;
buttonField.Text = "Delete"
buttonField.HeaderText = "Delete";
buttonField.CommanName = "del";

Y todo funciona de maravilla, pero ... obviamente quisiera poder usar la imagen en lugar del link,
¿alguno de ustedes ha tenido este problema y como lo resolvierón?, o no se puede resolver?

Saludos y gracias.