Retroceder   Foros del Web > Programación para sitios web > .NET > win forms

Respuesta
 
Herramientas Desplegado
Antiguo 12-mar-2008, 12:24   #1 (permalink)
Betina232022 ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 80
Enviar un mensaje por Skype™ a Betina232022
enter del datagridview

Hola, espero que esten bien.

Tengo un datagridview con varias filas, y quiero que al seleccionar alguna y precionar enter se ejecute un procedimiento X, pero no me toma el indice de la fila seleccionada, toma uno más, osea selecciono la fila 1 y al hacer el procedimiento aparecen los datos de la fila 2.

espero me puedan ayudar, gracias.
Betina232022 está desconectado   Responder Citando
Antiguo 12-mar-2008, 12:55   #2 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.799
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Re: enter del datagridview

lo q pasa es q tu enter lo esta capturando el grid y te cambia a la siguiente celda

lo que deberias hacer es el evento del EditingControlShowing para la celda en particulara q disparara el evento crearle un eventhandler para el enter y antes de procesarlo q invoque a tu metodo X.

algo asi

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if(dataGridView1.CurrentCell.ColumnIndex==indicede seado)
((DataGridViewTextBoxEditingControl)(e.Control)).K eyDown += new KeyEventHandler(Form1_KeyDown);
}

void Form1_KeyDown(object sender, KeyEventArgs e)
{
if ((int)e.KeyCode == (int)Keys.Enter)
{

//aqui llama metodo X
base.OnKeyDown(e);
}
}

saludos
peter
Peterpay esta en línea ahora   Responder Citando
Antiguo 12-mar-2008, 13:39   #3 (permalink)
Betina232022 ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 80
Enviar un mensaje por Skype™ a Betina232022
Re: enter del datagridview

Hola, gracias por contestar.

Soy nueva en esto del .net, estoy programando en C#, y no entiendo muy bien lo que me pones como respuesta.

Todas las celdas del datagridview tienen que irse al mismo procedimiento pero lo que se visualiza son los datos según la celda que se selecciono.

Hay alguna forma para que cuando se de enter no de un salto de línea y me tome una de más?


Gracias otra vez.
Betina232022 está desconectado   Responder Citando
Antiguo 12-mar-2008, 13:42   #4 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.799
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Re: enter del datagridview

todas las celdas cuando entran en modo de edicion van al mismo evento, pero por eso especificas q celda debe actuar a ese evento. si es la ultima celda de tu edicion pues lo puedes hacer asi.

bueno q hace tu metodo X ayudara a definir una mejor solucion.

saludos
peter
Peterpay esta en línea ahora   Responder Citando
Antiguo 12-mar-2008, 13:59   #5 (permalink)
Betina232022 ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 80
Enviar un mensaje por Skype™ a Betina232022
Re: enter del datagridview

En el datagrid muestro los datos de una tabla (la base de datos esta en access)

Al seleccionar alguna celda se tiene que ir a un procedimiento donde hago una consulta y saco solo los subtemas de la celda que tiene el foco, y ahi es donde me visualiza la información de una celda más.

para sacar el indice que tiene el foco pongo:

vgIndex = this.dataGridViewTemas.CurrentCell.RowIndex;

Tengo un procedimiento del keypress donde comparo que tecla se presiono:


private void Tecla13(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 13)
{
AceptarTemasDis_Click(null,null);
}
}

Espero que me haya explicado bien.
Betina232022 está desconectado   Responder Citando
Antiguo 12-mar-2008, 14:02   #6 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.799
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Re: enter del datagridview

entonces ncesitas llamar a Aceptar temas en el codigo q te di anteriormente si es cualquier celda vailda para invocar en base al vgiindex


private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
((DataGridViewTextBoxEditingControl)(e.Control)).K eyDown += new KeyEventHandler(Form1_KeyDown);
}

void Form1_KeyDown(object sender, KeyEventArgs e)
{
if ((int)e.KeyCode == (int)Keys.Enter)
{
AceptarTemasDis_Click(null,null);
//aqui llama metodo X
base.OnKeyDown(e);
}
}

prueba esto y dime si te funciono como esperabas.

saludos
peter
Peterpay esta en línea ahora   Responder Citando
Antiguo 12-mar-2008, 14:13   #7 (permalink)
Betina232022 ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 80
Enviar un mensaje por Skype™ a Betina232022
Re: enter del datagridview

Ya lo probee y no se va al procedimiento de Aceptar, cada vez que doy enter se desplaza a la siguiente celda.
Betina232022 está desconectado   Responder Citando
Antiguo 12-mar-2008, 14:18   #8 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.799
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Re: enter del datagridview

checa q no tengas apuntando el grid en el Keypress al mismo evento

saludos
peter
Peterpay esta en línea ahora   Responder Citando
Antiguo 12-mar-2008, 14:33   #9 (permalink)
Betina232022 ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 80
Enviar un mensaje por Skype™ a Betina232022
Re: enter del datagridview

El evento keypress no tiene nada
Betina232022 está desconectado   Responder Citando
Antiguo 12-mar-2008, 14:40   #10 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.799
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Re: enter del datagridview

no importa no apuntes a ese evento desde tu grid solo hazlo como lo muestro en el ejemplo

saludos
peter
__________________
Saludos
Peterpay
MCPD Enterprise Applications
Peterpay esta en línea ahora   Responder Citando
Antiguo 12-mar-2008, 14:44   #11 (permalink)
Betina232022 ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 80
Enviar un mensaje por Skype™ a Betina232022
Re: enter del datagridview

Ya lo hice, y solo se desplaza hacia abajo del grid, a menos que haya echo algo mal.

este es el código que puse:


private void EDS(object sender, DataGridViewEditingControlShowingEventArgs e)
{
e.Control.KeyDown += new KeyEventHandler(Form1_KeyDown);

}
public void Form1_KeyDown(object sender, KeyEventArgs e)
{
if ((int)e.KeyCode == (int)Keys.Enter)

{
AceptarTemasDis_Click(null, null);
base.OnKeyDown(e);
}
}
Betina232022 está desconectado   Responder Citando
Antiguo 12-mar-2008, 14:48   #12 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.799
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Re: enter del datagridview

lo estas debuggeando??, digo porq a mi si me funciona primero que nada mostrar un enter antes de cambiar de celda.
__________________
Saludos
Peterpay
MCPD Enterprise Applications
Peterpay esta en línea ahora   Responder Citando
Antiguo 12-mar-2008, 14:58   #13 (permalink)
Betina232022 ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 80
Enviar un mensaje por Skype™ a Betina232022
Re: enter del datagridview

En que momento se manda llamar?

Le puse un punto de interrupción y nunca entra en el procedimiento
Form1_KeyDown(object sender, KeyEventArgs e)
Betina232022 está desconectado   Responder Citando
Antiguo 12-mar-2008, 14:59   #14 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.799
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Re: enter del datagridview

Prueba esto sorry.

private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
e.Control.KeyUp += new KeyEventHandler(Control_KeyUp);
}

void Control_KeyUp(object sender, KeyEventArgs e)
{
if ((int)e.KeyValue == (int)Keys.Enter)
{
MessageBox.Show("ENTER");
//base.OnKeyPress(e);
}
}

private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.BeginEdit(false);
}
__________________
Saludos
Peterpay
MCPD Enterprise Applications
Peterpay esta en línea ahora   Responder Citando
Antiguo 12-mar-2008, 15:05   #15 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.799
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Re: enter del datagridview

revisa esta liga te sera util
http://danielisaacs.com/category/c/
__________________
Saludos
Peterpay
MCPD Enterprise Applications
Peterpay esta en línea ahora   Responder Citando
Antiguo 12-mar-2008, 15:13   #16 (permalink)
Betina232022 ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 80
Enviar un mensaje por Skype™ a Betina232022
Re: enter del datagridview

No me funciona ese procedimiento.

en ningún momento me muestra el mensaje de "Enter".
Betina232022 está desconectado   Responder Citando
Antiguo 12-mar-2008, 15:21   #17 (permalink)
Betina232022 ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 80
Enviar un mensaje por Skype™ a Betina232022
Re: enter del datagridview

Ya cheque la liga y no funciona.


Sigue haciendo lo mismo, le doy enter y se desplaza a la siguiente celda.
Betina232022 está desconectado   Responder Citando
Antiguo 13-mar-2008, 10:48   #18 (permalink)
Betina232022 ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 80
Enviar un mensaje por Skype™ a Betina232022
Re: enter del datagridview

Hola.

Te agradezco mucho que ayer me contestaras.

Ya resolví el problema.

saludos que estes bien.
Betina232022 está desconectado   Responder Citando
Antiguo 31-mar-2008, 08:09   #19 (permalink)
dzisaacs ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2008
Mensajes: 2
Re: enter del datagridview

Cita:
Iniciado por Betina232022 Ver Mensaje
Ya cheque la liga y no funciona.


Sigue haciendo lo mismo, le doy enter y se desplaza a la siguiente celda.

HOla, yo soy el que escribe en la liga que no te funciona
te exhorto a que la busques de nuevo, bajes el codigo que he puesto, y creeme que eso funciona

gracias
dzisaacs está desconectado   Responder Citando
Antiguo 31-mar-2008, 08:10   #20 (permalink)
dzisaacs ha deshabilitado el karma
 
Fecha de Ingreso: marzo-2008
Mensajes: 2
Re: enter del datagridview

Cita:
Iniciado por Peterpay Ver Mensaje
revisa esta liga te sera util
GRACIAS POR REFERIR MI PAGINA, TRATO DE PONER CODIGO QUE PUEDA AYUDAR A LA COMUNIDAD
dzisaacs está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 21:24.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93