problema datagrid .net, urge.

18/10/2005 - 18:06 por Diego \(DCD\) | Informe spam
Hola, tengo el siguiente problema:

Tengo un formulario maestro/detalle que relleno con dos tablas
de un dataset, mi problema es que en el detalle tengo un datagrid enlazado
con cuatro campos, y uno de ellos lo tengo oculto en el datagrid, es decir,
no lo he agregado como columna en el tablesstyles. Mi problema es que según
un campo de la cabecera, ese campo oculto toma un valor, pero no sé en qué
momento ni como asignar ese valor mediante código, ya que al introducir una
línea de detalle, me dá un error de que ese campo no puede ser nulo, y al no
estar visible en el datagrid no se puede escribir. Y tampoco la puede poner
en la línea del datatable ya que todavía no ha sido creada.

Un saludo y gracias.



begin 666 spacer.gif
K1TE&.#EA`0`!`( ``/___P```"'Y! $`````+ `````!``$```("1 $`.P``
`
end

Preguntas similare

Leer las respuestas

#1 Oscar Calvo
18/10/2005 - 20:06 | Informe spam
no te entiendo bien diego
" Mi problema es que según
un campo de la cabecera, ese campo oculto toma un valor"
Cuando creas la fila de detalle, y antes de agregarla a la tabla,no puedes
asignarle ese valor ?
posteriormente mediante eventos o columnas calculadas(no te las recimiendo
en maestro -detalle ya que hay un error reportado por ahi sobre
esto),asignarle el valor correspondiente cuando cambie el valor de la
cabecera.

Por ultimo,que es ese gif que muestras en la pantalla?


"Diego (DCD)" escribió en el mensaje
news:uqju31$
Mostrar la cita
decir,
Mostrar la cita
según
Mostrar la cita
una
Mostrar la cita
no
Mostrar la cita
poner
Mostrar la cita
#2 Diego \(DCD\)
19/10/2005 - 17:46 | Informe spam
A ver si me explico mejor, que muchas veces no sé ni lo que escribo.



Lo que yo quiero es lo siguiente: Tengo una tabla hija con cuatro campos
(típico maestro detalle). En el datagrid sólo muestro tres de ellos.
El cuarto su valor depende de otro campo en la cabecera, es decir, si el
campo de la cabecera es 1, el valor del cuarto campo en la tabla hija es
'A'. Lo que me pasa es que ese dato es invisible para el usuario y yó lo
quiero asignar mediante código. El problema es que no sé como hacerlo, no
hay un evento
en el datagrid que me diga que se está creando una línea nueva y yo le
asigne el valor que le corresponde al cuarto campo.

Espero que ahora se entienda.

Un saludo y gracias.




"Oscar Calvo" escribió en el mensaje
news:%
Mostrar la cita
tablas
Mostrar la cita
enlazado
Mostrar la cita
qué
Mostrar la cita
al
Mostrar la cita
#3 Diego \(DCD\)
19/10/2005 - 18:53 | Informe spam
Perdón por lo del Gif. pero se me ha debido colar al copiar del texto de un
foro en el web. Esto que cuando uno está desesperado y no sabe qué hacer.

Gracias.

"Diego (DCD)" escribió en el mensaje
news:%
Mostrar la cita
puedes
Mostrar la cita
recimiendo
Mostrar la cita
introducir
Mostrar la cita
#4 Oscar Calvo
19/10/2005 - 20:01 | Informe spam
La manera mas simple que te veo es la siguente diego
En la definicion de la columna pon un valor por defecto para dicha columna
(miDataSet.Tables[0].Columns[columnaoculta].DefaultValue=0)
suscribete al evento Rowchanged de la tabla, en el parametro
"DataRowChangeEventArgs" te vendra una propiedad "action" que te indica que
tipo de modificacion se ha realizado, si es añadir, ponle el valor que
corresponda.

tienes la opcion tambien de trabajar con columnas calculadas,pero como dcia
antes en maestro-detalle no te la recomiendo.

"Diego (DCD)" escribió en el mensaje
news:#
Mostrar la cita
puedes
Mostrar la cita
recimiendo
Mostrar la cita
introducir
Mostrar la cita
#5 Diego \(DCD\)
20/10/2005 - 13:01 | Informe spam
Gracias por tu solución Oscar.

Un saludo.

"Oscar Calvo" escribió en el mensaje
news:
Mostrar la cita
que
Mostrar la cita
dcia
Mostrar la cita
no
Mostrar la cita
que
Mostrar la cita
en
Mostrar la cita
y
Mostrar la cita
puede
Mostrar la cita
Ads by Google
Search Busqueda sugerida