Problema Con El Doble Click En Un Datagrid

elbartoev
20 de Agosto del 2004
Hola.

Tengo un formulario con un Datagrid. Necesito hacer algunas cosas cuando se hace dobleclick sobre el, pero no salta el evento correspondiente.

Alguien sabe porque puede ser?

Mikel
20 de Agosto del 2004
Tienes un DataGrid en .NET pero ... ¿en un formulario web o windows?

elbartoev
20 de Agosto del 2004
Es en Windows y con Visual Basic .NET

Mikel
20 de Agosto del 2004
Pues entonces no tiene ninguna logica que no te funcione el DoubleClick.

Lo unico que se me ocurre es que te falte la cluausula HANDLES en tu procedimiento. Me explico. A mi me ha pasado alguna vez que creo un objeto y procedimientos para los eventos de este objeto. Posteriormente (por cualquier motivo) borras y vuelves a crear tu objeto con el mismo nombre de tal manera que parece que en tu codigo sigues teniendo el procedimiento del evento correctamente, pero no es así ya que te queda esto:

Private Sub MiDataGrid_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs)

Cuando en realidad deberia de haber esto otro:

Private Sub MiDataGrid_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles MiDataGrid.DoubleClick

Espero haberme explicado y que te soluciones tu problema.

Saludos desde Euskal Herria.

Mikel


elbartoev
20 de Agosto del 2004
Gracias, pero la clausula Handles está bien puesta.
Creo que ya he descubierto por donde van los tiros. Cada columna del grid la formateo con un objeto DataGridTextBoxColumn de esta forma:

Dim ColConcepto As New DataGridTextBoxColumn
ColConcepto.MappingName = "DIA_Concepto"
ColConcepto.HeaderText = "Cto."
ColConcepto.Width = 25
ColConcepto.Alignment = HorizontalAlignment.Center
ColConcepto.ReadOnly = True
ts1.GridColumnStyles.Add(ColConcepto)

Parece que cada celda del grid tiene asociado un objeto textbox, y este debe ser el que captura el dobleclick. Si hago el doble click en alguna parte del grid que no sea una celda si que salta el evento correctamente. Ahora me falta averiguar como bloquear ese Textbox para que no capture el evento.

De todas formas, aunque lo del Handles lo tuviera bien, te agradezco tu interés.

Un saludo.