Cambiar valores en DataGridViewCell

22/01/2007 - 17:14 por Hoze | Informe spam
Hola a todos.

Al validar el contenido de una celda de un grid, compruebo que el valor
exista en la bbdd. Si no existe, muestro un formulario de ayuda que permite
al usuario seleccionar un valor correcto.

Hasta aquí perfecto. Cojo el valor seleccionado y lo pongo en el
datagridview, pero está puesto como "de mentira". Al intentar añadir un
nuevo registro, la aplicación me da error al validar el campo PK del
registro, diciendo que está a nulo... ¡¡¡ pero no lo está!!! yo le he dado
un valor.

He probado a capturar el evento CellEndEdit para mandar un EndEdit al
BindingSource al que está enlazado el grid, pero nada, me sigue dando el
mismo error.


¿me podéis dar alguna pista?



Gracias

Preguntas similare

Leer las respuestas

#1 ANT1
22/01/2007 - 17:57 | Informe spam
La verdad es que no soy ningun experto en esto, ¿pero el PK es
autogenerado o lo define el usuario de la aplicacion?.

Si el valor lo defines tu manualmente (PK a PK) la verdad es que no se
como puede fallarte porque tendria que funcionar como una variable mas.

Si lo tienes autogenerado asegurate de que estas dandole el valor
adecuado para que autogenere la PK. Aunque claro, pusieras el valor que
pusieras este no seria nulo, que es el error que te da por lo que has
puesto. ¿Como tienes asociado el objeto al datagridview?

Yo siempre los hago autogenerados indicando a la base de datos que lo
genere cuando le envio valor cero. Por ello dentro de las propiedades
de la clave primaria le indico un "unsaved value = 0", aunque claro
todo esto es para postgres que es la unica base de datos que tengo. Al
utilizar un binding source generado a aprtir de la clase del objeto en
cuestion como fuente de datos al datagridview automaticamente el
datagridview toma las caracteristicas de este, y por tanto si es una
nueva linea del datagridview lo considera un nuevo objeto y esa celda
toma automaticamente el valor 0, no teniendo que modificarla yo para
nada.

On 22 ene, 17:14, "Hoze" wrote:
Hola a todos.

Al validar el contenido de una celda de un grid, compruebo que el valor
exista en la bbdd. Si no existe, muestro un formulario de ayuda que permite
al usuario seleccionar un valor correcto.

Hasta aquí perfecto. Cojo el valor seleccionado y lo pongo en el
datagridview, pero está puesto como "de mentira". Al intentar añadir un
nuevo registro, la aplicación me da error al validar el campo PK del
registro, diciendo que está a nulo... ¡¡¡ pero no lo está!!! yo le he dado
un valor.

He probado a capturar el evento CellEndEdit para mandar un EndEdit al
BindingSource al que está enlazado el grid, pero nada, me sigue dando el
mismo error.

¿me podéis dar alguna pista?

Gracias
Respuesta Responder a este mensaje
#2 Hoze \(SMM\)
22/01/2007 - 21:20 | Informe spam
"ANT1" wrote in message
news:
La verdad es que no soy ningun experto en esto, ¿pero el PK es
autogenerado o lo define el usuario de la aplicacion?.

Lo define el usuario, o sea, yo, e insisto, el valor lo pongo yo y lo veo en
el grid, pero por no se qué, no me añade la línea por este error.


On 22 ene, 17:14, "Hoze" wrote:
Hola a todos.

Al validar el contenido de una celda de un grid, compruebo que el valor
exista en la bbdd. Si no existe, muestro un formulario de ayuda que
permite
al usuario seleccionar un valor correcto.

Hasta aquí perfecto. Cojo el valor seleccionado y lo pongo en el
datagridview, pero está puesto como "de mentira". Al intentar añadir un
nuevo registro, la aplicación me da error al validar el campo PK del
registro, diciendo que está a nulo... ¡¡¡ pero no lo está!!! yo le he dado
un valor.

He probado a capturar el evento CellEndEdit para mandar un EndEdit al
BindingSource al que está enlazado el grid, pero nada, me sigue dando el
mismo error.

¿me podéis dar alguna pista?

Gracias
Respuesta Responder a este mensaje
#3 ANT1
23/01/2007 - 09:21 | Informe spam
La verdad yo me he encontrado con algunos problemas con los
datagridviews, en mi opinion tienen algun bug por ahi.

Lo unico que se me ocurre es que no este bien asociado el valor de esa
celda al PK de tu objeto. Antes de guardar el objeto en la base de
datos mira a ver si realmente esta definido el valor de la clave. Si
esta a null comprueba a ver donde toman el resto de propiedades del
objeto el valor y mira a ver que es lo que puede fallar. No te puedo
ayudar en mas, ya lo siento.

De todos modos te recomendaria una PK autogenerada para evitar errores
de duplicacion de PK.

Un saludo. Suerte.

On 22 ene, 21:20, "Hoze \(SMM\)" wrote:
"ANT1" wrote in messagenews:
La verdad es que no soy ningun experto en esto, ¿pero el PK es
autogenerado o lo define el usuario de la aplicacion?.

Lo define el usuario, o sea, yo, e insisto, el valor lo pongo yo y lo veo en
el grid, pero por no se qué, no me añade la línea por este error.

On 22 ene, 17:14, "Hoze" wrote:

> Hola a todos.

> Al validar el contenido de una celda de un grid, compruebo que el valor
> exista en la bbdd. Si no existe, muestro un formulario de ayuda que
> permite
> al usuario seleccionar un valor correcto.

> Hasta aquí perfecto. Cojo el valor seleccionado y lo pongo en el
> datagridview, pero está puesto como "de mentira". Al intentar añadir un
> nuevo registro, la aplicación me da error al validar el campo PK del
> registro, diciendo que está a nulo... ¡¡¡ pero no lo está!!! yo le he dado
> un valor.

> He probado a capturar el evento CellEndEdit para mandar un EndEdit al
> BindingSource al que está enlazado el grid, pero nada, me sigue dando el
> mismo error.

> ¿me podéis dar alguna pista?

> Gracias
Respuesta Responder a este mensaje
#4 Hoze \(SMM\)
23/01/2007 - 10:36 | Informe spam
El valor está. La tabla es de cruce. La recupero de una tabla y la coloco en
otra sin intervención del usuario
Gracias
"ANT1" wrote in message
news:
La verdad yo me he encontrado con algunos problemas con los
datagridviews, en mi opinion tienen algun bug por ahi.

Lo unico que se me ocurre es que no este bien asociado el valor de esa
celda al PK de tu objeto. Antes de guardar el objeto en la base de
datos mira a ver si realmente esta definido el valor de la clave. Si
esta a null comprueba a ver donde toman el resto de propiedades del
objeto el valor y mira a ver que es lo que puede fallar. No te puedo
ayudar en mas, ya lo siento.

De todos modos te recomendaria una PK autogenerada para evitar errores
de duplicacion de PK.

Un saludo. Suerte.

On 22 ene, 21:20, "Hoze \(SMM\)" wrote:
"ANT1" wrote in
messagenews:
La verdad es que no soy ningun experto en esto, ¿pero el PK es
autogenerado o lo define el usuario de la aplicacion?.

Lo define el usuario, o sea, yo, e insisto, el valor lo pongo yo y lo veo
en
el grid, pero por no se qué, no me añade la línea por este error.

On 22 ene, 17:14, "Hoze" wrote:

> Hola a todos.

> Al validar el contenido de una celda de un grid, compruebo que el valor
> exista en la bbdd. Si no existe, muestro un formulario de ayuda que
> permite
> al usuario seleccionar un valor correcto.

> Hasta aquí perfecto. Cojo el valor seleccionado y lo pongo en el
> datagridview, pero está puesto como "de mentira". Al intentar añadir un
> nuevo registro, la aplicación me da error al validar el campo PK del
> registro, diciendo que está a nulo... ¡¡¡ pero no lo está!!! yo le he
> dado
> un valor.

> He probado a capturar el evento CellEndEdit para mandar un EndEdit al
> BindingSource al que está enlazado el grid, pero nada, me sigue dando el
> mismo error.

> ¿me podéis dar alguna pista?

> Gracias
Respuesta Responder a este mensaje
#5 ANT1
23/01/2007 - 11:14 | Informe spam
Si el valor esta ne definido en el objeto justo antes de ser guardado
en la base de datos entonces el problema no es del datagridview, si no
a la hora de guardar el valor de la PK en la base de datos. Puede ser
que la BD no acepte el valor que le estes introduciendo o q estes
duplicando PKs. Comprueba la configuracion de la base de datos en ese
caso.

On 23 ene, 10:36, "Hoze \(SMM\)" wrote:
El valor está. La tabla es de cruce. La recupero de una tabla y la coloco en
otra sin intervención del usuario
Gracias"ANT1" wrote in messagenews:
La verdad yo me he encontrado con algunos problemas con los
datagridviews, en mi opinion tienen algun bug por ahi.

Lo unico que se me ocurre es que no este bien asociado el valor de esa
celda al PK de tu objeto. Antes de guardar el objeto en la base de
datos mira a ver si realmente esta definido el valor de la clave. Si
esta a null comprueba a ver donde toman el resto de propiedades del
objeto el valor y mira a ver que es lo que puede fallar. No te puedo
ayudar en mas, ya lo siento.

De todos modos te recomendaria una PK autogenerada para evitar errores
de duplicacion de PK.

Un saludo. Suerte.

On 22 ene, 21:20, "Hoze \(SMM\)" wrote:

> "ANT1" wrote in
> messagenews:
> La verdad es que no soy ningun experto en esto, ¿pero el PK es
> autogenerado o lo define el usuario de la aplicacion?.

> Lo define el usuario, o sea, yo, e insisto, el valor lo pongo yo y lo veo
> en
> el grid, pero por no se qué, no me añade la línea por este error.

> On 22 ene, 17:14, "Hoze" wrote:

> > Hola a todos.

> > Al validar el contenido de una celda de un grid, compruebo que el valor
> > exista en la bbdd. Si no existe, muestro un formulario de ayuda que
> > permite
> > al usuario seleccionar un valor correcto.

> > Hasta aquí perfecto. Cojo el valor seleccionado y lo pongo en el
> > datagridview, pero está puesto como "de mentira". Al intentar añadir un
> > nuevo registro, la aplicación me da error al validar el campo PK del
> > registro, diciendo que está a nulo... ¡¡¡ pero no lo está!!! yo le he
> > dado
> > un valor.

> > He probado a capturar el evento CellEndEdit para mandar un EndEdit al
> > BindingSource al que está enlazado el grid, pero nada, me sigue dando el
> > mismo error.

> > ¿me podéis dar alguna pista?

> > Gracias
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida