Visual Basic.NET - Foco Datagrid

 
Vista:

Foco Datagrid

Publicado por Joaquin (9 intervenciones) el 19/04/2007 09:24:51
Hola a todos.
Estoy desarrollando una aplicacion y tengo un problema al que no encuentro solucion.
Tengo en una pantalla dos datagrids. Uno encima del otro.
Cada datagrid tiene de datasource un datatable, que solo puede contener una Row.
En los datagrid, solo tengo una row, y me desplazo y no me crea otra nueva.
Hasta aqui todo bien.

Mi problema es que cuando termino de cargar la row del datagrid 1, quiero que automaticamente me salte al datagrid 2 para seguir cargando valores en el datagrid 2.

Pues esto no lo consigo. Ni con activecontrol, ni con focus, ni pasando el foco a la celda (0,0) del datagrid 2.
Siempre se me mantiene el foco en el Datagrid 1.

Lo curioso es que si quiero que el foco me valla a cualquier control del formulario, tampoco me lo envia, y la unica forma que tengo es pinchando con el ratón.
¿Alguna sugerencia?

Gracias
Joaquin
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Foco Datagrid

Publicado por haver (196 intervenciones) el 19/04/2007 16:13:16
mmm prueba esto en el evento keypress de la grilla

Private Sub 'El nombre de tu grilla_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
' si la tecla pulsada es la tecla Intro
If e.KeyChar = Convert.ToChar(Keys.Return) Then
' con esto hacemos que se ignore la pulsación
e.Handled = True
'... el código ...
' (por ejemplo pasar a otro control)
Me.txtgroup.Focus()
End If
End Sub

Ya probaste con la propiedad del tabindex...?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Foco Datagrid

Publicado por JOAQUIN (9 intervenciones) el 19/04/2007 17:09:55
Ya he probado de todas formas.
Esta que tu me dices no me funciona.
Gracias de todos modos
El problema es que no consigo enviar el foco a otro control.
Te explico como tengo..
Tengo un datagrid arriba y otro abajo.
El foco en el de arriba.
Este tiene 5 columnas. Lo que quiero es que cuando llegue a la columna 5 y pulse la tecla tab, me salte al datagrid de abajo, que es igual al de arriba solo que contiene otros datos.
Ya le conseguí quitar la fila que se crea sola en el datagrid cuando llegas a la ultima, y supongo que el problema viene por ahí.
Alguna sugerencia de como hacer lo de la ultima fila de otro modo?.
Os pongo como lo tengo hecho.

If Me.Datagrid.CurrentRowIndex >= Me.DS.Tables("Datos").Rows.Count Then
Me.Datagrid.CurrentCell = New DataGridCell(Me.DS.Tables ("Datos").Rows.Count - 1, Me.Datagrid.CurrentCell.ColumnNumber)

' Y ahora aquí es donde quiero que se cambie de datagrid
me.datagrid2.focus

Exit Sub
End If
End If

Un saludo
Joaquin
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar